转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
巧妙运用PHP函数实现采集器的制作         ★★★

巧妙运用PHP函数实现采集器的制作

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1343 更新时间:2010/3/22 22:28:12

  PHP经过长时间的发展,很多用户都很了解PHP了,我们现在可以利用PHP函数实现采集器程序。何为采集器,通常又叫小偷程序,主要是用来抓取别人网页内容的。关于采集器的制作,其实并不难,就是远程打开要采集的网页,然后用正则表达式将需要的内容匹配出来,只要稍微有点正则表达式的基础,都能做出自己的采集器来的。

  前几天做了个小说连载的程序,因为怕更新麻烦,顺带就写了个采集器,采集八路中文网的,功能比较简单,不能自定义规则,不过大概思路都在里面了,自定义规则可以自己来扩展。用php来做采集器主要用到两个PHP函数:file_get_contents()和preg_match_all(),前一个是远程读取网页内容的,不过只在php5以上的版本才能用,后一个是正则函数,用来提取需要的内容的。面就一步一步来讲功能实现。因为是采集小说,所以首先要将书名、作者、类型这三个提取出来,别的信息可根据需要提取。

  这样还不够,还需要一个切取PHP函数:

  1. function cut($string,$start,$end){
  2. $message = explode($start,$string);
  3. $message = explode($end,$message[1]); return $message[0];}其中$string为要被切取的内容,$start为开始的地方,$end为结束的地方。取出分类号:
  4. $start = "Html/Book/";
  5. $end
  6. = "List.shtm";
  7. $typeid = cut($typeid[0][0],$start,$end);
  8. $typeid = explode("/",$typeid);[/php]
  9. 这样,$typeid[0]就是我们要找的分类号了。方法如下:
  10. $ustart = "\"";
  11. $uend
  12. = "\"";
  13. //t表示title的缩写
  14. $tstart = ">";
  15. $tend
  16. = "<";
  17. //取路径,例如:123.shtm,2342.shtm,233.shtm
  18. preg_match_all("/\"[0-9]{1,}\.(shtm)\"/is",$chapterurl,$url);
  19. //取标题,例如:第一章 九世善人
  20. preg_match_all("/<a href=\"[0-9]{1,}\.shtm\"(.*?)\<\/a>/is",$file,$title);
  21. $countcountcount = count($url[0]);
  22. for($i=0;$i<=$count;$i++)
  23. {
  24. $u = cut($url[0][$i],$ustart,$uend);
  25. $t = cut($title[0][$i],$tstart,$tend);
  26. $array[$u] = $t;
  27. }

$array数组就是所有的章节地址了,到这里,采集器就完成一半了,剩下的就是循环打开每个章节地址,读取,然后将内容匹配出来。这个比较简单,这里就不详细叙述了。好了,今天就先写到这吧,第一次写这么长的文章,语言组织方面难免有问题,还请大家多包涵!


[Web开发]通过伪静态规则实现子目录绑定  [Web开发]利用QQWry.Dat实现IP 地址高效检索
[Web开发]用PHP实现Javascript的escape(),unescape()的方法  [网页制作]利用HTML meta refresh 实现页面刷新与跳转(重定向…
[实用文档]基于WebGIS的杭州公交线路查询系统设计与实现毕业…  [办公软件]如何在Powerpoint 中(实现)输入上标、下标
[办公软件]如何实现Office工具栏、菜单以及菜单命令重命名  [办公软件]PowerPoint XP技巧之实现字幕上下移动动画
[办公软件]利用录制旁白功能在PowerPoint实现各种声音格式的…  [办公软件]如何实现在Excel单元格内进行换行(三大法宝)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台