投递文章 投稿指南 RSS订阅 站点通告:网站升级,部分数据正在导入之中,请等待..
您的位置:首页 >> Web编程 >> php

采集文章详解之PHP版!

发布时间:2006-01-27 23:15:10  文章来源:  浏览次数:8005  
承德互联 专业的unix(freebsd)主机 无限子域 BGP多线 自主开发面版 更快 更稳 更安全
作者:andsky
个人主页:
http://www.andsky.com 转载请注明出处谢谢!


采集其实和以前我们用过的小偷原理是一样的只不过增加了入库功能

下面我先说一下采集的要点

1、明确要采集的页面
2、分析页面链接
3、得到页面链接,抓取文章页内容
4、入库


下面我真对以上几个步骤把用PHP语言用到的几个函数写一下


首先要取得链接页面内容

用file_get_contents函数这个在一些PHP的书里介绍的好像不多
用法 $link=file_get_contents( $page);
 $page为我们在采的链接页
 $link为我们取得链接页面的内容

下面接着要开始分析文章页面的URL地址了,难的其实也就在这里的正则表达式
用到的函数preg_match_all
用法
preg_match_all("/^<a href=\"(.*)\">(.*)<\/a>/", $link, $links);
其实我觉得这样并不好不如用preg_match,大家自己看看这个吧

得到了链接下面就要对文章页面的标题,内容进行抓取了

在这里要说明的一下其实
 $links[2]以经是标题了
 $links[1]是链接

这里我们主要先对 $links[1]进行分析因为它以经是一个数组所以我们进行分析时要用到for或什么的,这里不多说

接下来取得文章页内的内容用到的函数还是file_get_contents
这次不同的是我们要用explode对文章进行分析
也就是我们现在用的什么标题开始,结束,内容,开始结束之类的
 $text=file_get_contents( $links[1][1])
 $text是我们获得的第一个链接
具体用法
 $title=explode("标题开始", $text);
 $get_title=explode("标题结束", $title[1]);
 $t_title= $get_title[0];

下面分析内容
 $content=explode("内容开始", $tet_title[1]);
 $get_content=explode("内容结束", $tet_title[0]);
 $c_conetnt= $get_content[0];


到这里也就差不多了,接下来就是入库了,大家根据自己的实际情况


第一次写技术文章,写的不对的地方请指正

AD一下

采集非官方支持版
http://www.andsky.com/bbs/index.php?cateid=30
作者:andsky
与好友一起分享精彩内容:

收藏到QQ书签】【返回顶部】【返回首页
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 程序支持 - 网站地图 - 意见反馈 - 返回顶部