快速业务通道

PHP写采集心得

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-24

在论坛好久了没有怎么正式的发表过东西,今天给大家共享一下我的采集代码!

  思路:

  采集程序的思路很简单大体可以分为以下几个步骤:

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

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

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

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

  代码:

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

  复制PHP内容到剪贴板

  PHP代码:

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

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

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

  复制PHP内容到剪贴板

  PHP代码:

if(@copy($url,$newurl)){
echo ''ok'';
}

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

  复制PHP内容到剪贴板

  PHP代码:

/*本存图片函数*/
function getimg($url,$filename){
    /*判断图片的url是否为空,如果为空停止函数*/
    if($url==""){
        return false;
    }
    /*取得图片的扩展名,存入变量$ext中*/
    $ext=strrchr($url,".");
    /*判断是否是合法的图片文件*/
  if($ext!=".gif" && $ext!=".jpg"){
        return false;
    }
    /*读取图片*/
    $img=file_get_contents($url);
    /*打开指定的文件*/
    $fp=@fopen($filename.$ext,"a");
    /*写入图片到指点的文件*/
    fwrite($fp,$img);
    /*关闭文件*/
    fclose($fp);
    /*返回图片的新文件名*/
    return $filename.$ext;
}

  共享一下个人的采集心德:

  1.不采那些作防盗链了的站,其实可以作假来路但是这样的站采集成本太高

  2.采集尽量快的站,最好在本地进行采集

  3.采集时有很多时候可以先把一部分数据存入数据库,等以后进行下一步的处理。

  4.采集的时候一定要作好出错处理,我一般都是如果采集三次没有成功就跳过。以前经常就因为一条内容不能采就卡在那里一直的采。

  5.入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。
 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号