找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 775|回复: 4

采集原理解说!

[复制链接]
发表于 2006 年 1 月 26 日 13:36:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  作者: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
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2006 年 1 月 26 日 18:57:13 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
有空研究下.....
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 1 月 27 日 10:06:01 | 显示全部楼层
i like it
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 1 月 28 日 19:02:00 | 显示全部楼层
顶一下 呵呵  再说得简单详细一 些 都可以精华了  加油  希望能帮助更多和我一样菜的金光兄弟 支持楼 主
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 1 月 26 日 13:36:26 | 显示全部楼层

采集原理解说!

  作者: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
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 2 日 00:54 , Processed in 0.020578 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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