欢迎来到福编程网,本站提供各种互联网专业知识!

PHP 采集心得技巧

发布时间:2016-09-01 作者:佚名 来源:互联网
今天给大家共享一下我的采集代码!思路:采集程序的思路很简单大体可以分为以下几个步骤

1、获取远程文件源代码(file_get_contents或用fopen)。

2、分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。 

3、跟根得到的内容进行下载入库等操作。 

在这里第二步有可能要重复的操作好几次,比如说要先分析一下分页地址,在分析一下内页的内容才能取得我们想要的东西。 

代码: 

记的以前发部过部分的代码今天我在这里在简单的发部一下
PHP代码: 

代码
  1. @$nl=file_get_contents($rs['url']);//抓取远程内容 
  2. preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容 
  3. mysql_query("insert ......插入数据库部分");

上面的代码就是所有采集要用到的代码了,当然大家也可以用fope来作,我个人喜欢用file_get_contents。 

下面在共享一下我的下载图片flash到本地的办法,太简单了两行代码
PHP代码:

代码
  1. if(@copy($url,$newurl)){ 
  2.     echo 'ok';
  3. }

在论坛上以前还发过一个图片下载函数这会也放上来给大家
PHP代码: 

代码
  1. /*本存图片函数*/ 
  2. function getimg($url,$filename){ 
  3. /*判断图片的url是否为空,如果为空停止函数*/     
  4. if($url==""){
  5.     return false;
  6. }    
  7. /*取得图片的扩展名,存入变量$ext中*/     
  8. $ext=strrchr($url,".");     
  9. /*判断是否是合法的图片文件*/     
  10. if($ext!=".gif" && $ext!=".jpg"){ 
  11. return false; }    
  12. /*读取图片*/     
  13. $img=file_get_contents($url);    
  14. /*打开指定的文件*/     
  15. $fp=@fopen($filename.$ext,"a");     
  16. /*写入图片到指点的文件*/     
  17. fwrite($fp,$img);     
  18. /*关闭文件*/     
  19. fclose($fp);     
  20. /*返回图片的新文件名*/     
  21. return $filename.$ext;
  22. }


共享一下个人的采集心德:
1、不采那些作防盗链了的站,其实可以作假来路但是这样的站采集成本太高
2、采集尽量快的站,最好在本地进行采集
3、采集时有很多时候可以先把一部分数据存入数据库,等以后进行下一步的处理。
4、采集的时候一定要作好出错处理,我一般都是如果采集三次没有成功就跳过。以前经常就因为一条内容不能采就卡在那里一直的采。
5、入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。

相关推荐