个人工具
名字空间
变换
操作

CMSware内容页采集规则定义

来自站长百科
跳转到: 导航, 搜索

导航:返回上一页

内容页的采集规则数量多少取决与内容模型字段数量的多少以及你想采集的项目数量的多少,一般来说,新闻采集只需采集新闻的标题和内容,那样就只需要定2个规则,让我们往下看:

Cmsware122.gif

要正确定义标题和内容的采集规则,我们需要考察内容页的网页源代码

Cmsware123.gif

我们发现网页的<Title>包含了新闻的标题,所以标题的采集规则很容易就定下来了

/<Title>(.*)<\/Title>/isU==>[clearHTML]

这里,我们使用==>[clearHTML]来进行内容过滤,也就是过滤掉标题中的所有html代码,比如字体大小颜色定义等.

下面让我们接着确定内容的采集规则,我们继续考察源代码

Cmsware124.gif

通过研究内容周围的HTML,我们确定了采集规则的头标识和尾标识分别为<font id="Zoom"> 和 </font> ,于是,内容采集规则定为

/<font id=\"Zoom\">(.*) <\/font>/isU==>[clearRubbish,1]

这里,我们使用==>[clearRubbish,1]来进行内容过滤,第一个参数clearRubbish是用来去除内容中的垃圾代码,比如 flash广告,js广告等,而第2个参数是用来定义是否对
内容中的图片进行本地化,在这里我们设为1,即内容图片本地化

注意:我们使用 <\/font>作为尾标识可能有欠妥当的地方,因为很可能内容中还会出现<font></font>的定义,那样就可能出现问题,此时我们需要更准确的规则定义:

/<font id=\"Zoom\">(.*)<\/font>\s\r[\s]*<table/isU==>[clearRubbish,1] 

标题和内容的采集规则都确定下来了,现在我们再点测试,系统显示有效内容页地址解析结果,然后我们对一条结果进行解析,解析结果如下:

Cmsware125.gif

好了,所有测试通过,让我们开始运行我们的爬虫,开始采集


参考来源

留言