找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1794|回复: 0

[教程] PHP采集程序大全

[复制链接]
发表于 2013-4-6 11:08:18 | 显示全部楼层 |阅读模式 来自 中国–广东–湛江
  1. 思路:
  2.   采集程序的思路很简单大体可以分为以下几个步骤:
  3.      1.获取远程文件源代码(file_get_contents或用fopen).
  4.         2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。
  5.   3.跟根得到的内容进行下载入库等操作。
  6. 在这里第二步有可能要重复的操作好几次,比如说要先分析一下分页地址,在分析一下内页的内容才能取得我们想要的东西。
  7. 代码:
  8. 记的以前发部过部分的代码今天我在这里在简单的发部一下
  9. 复制PHP内容到剪贴板
  10. PHP代码:
  11. @$nl=file_get_contents($rs['url']);//抓取远程内容
  12. preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容
  13. mysql_query("insert ......插入数据库部分");

  14. 上面的代码就是所有采集要用到的代码了,当然大家也可以用fope来作,我个人喜欢用file_get_contents。
  15. 下面在共享一下我的下载图片flash到本地的办法,太简单了两行代码
  16. 复制PHP内容到剪贴板
  17. PHP代码:
  18. if(@copy($url,$newurl)){
  19. echo 'ok';
  20. }

  21. 在论坛上以前还发过一个图片下载函数这会也放上来给大家
  22. 复制PHP内容到剪贴板
  23. PHP代码:
  24. /*本存图片函数*/
  25. function getimg($url,$filename){
  26.          /*判断图片的url是否为空,如果为空停止函数*/
  27.          if($url==""){
  28.                  return false;
  29.          }
  30.          /*取得图片的扩展名,存入变量$ext中*/
  31.          $ext=strrchr($url,".");
  32.         /*判断是否是合法的图片文件*/
  33.      if($ext!=".gif" && $ext!=".jpg"){
  34.                  return false;
  35.          }
  36.          /*读取图片*/
  37.          $img=file_get_contents($url);
  38.          /*打开指定的文件*/
  39.          [email=$fp=@fopen($filename.$ext,]$fp=@fopen($filename.$ext,"a[/email]");
  40.          /*写入图片到指点的文件*/
  41.          fwrite($fp,$img);
  42.          /*关闭文件*/
  43.          fclose($fp);
  44.          /*返回图片的新文件名*/
  45.          return $filename.$ext;
  46. }

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

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-5 19:32 , Processed in 0.045789 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表