寂寞部屋
- 关注互联网,关注生活
关注互联网,关注生活
2019年五月
« 4月    
 12345
6789101112
13141516171819
20212223242526
2728293031  
  • 日志总数:553 篇
  • 浏览总量:2,435,466 次
  • 运行天数:619 天
  • 建站时间:2017-9-14
  • 最后更新:2019-4-2

【DEDECMS采集基础教程】分页采集篇(五)

【DEDECMS采集基础教程】分页采集篇(五)

——————————————-
注:写此文的目的是将自己对dede的采集经验总结下,适合新手使用
有什么不明白的地方可以PM我或在下面留言,我有时间会帮你解答。
对DEDE我也是新手,还有很多不明白的欢迎一起交流学习。
本教程我会分成几章写完,由于时间的关系先些第一部分
转载请注明Johnny原创:http://www.bokelife.com/show-419-1.html

【DEDECMS采集基础教程】列表设置篇(一)

【DEDECMS采集基础教程】采集规则篇(二)

【DEDECMS采集基础教程】进行采集篇(三)

【DEDECMS采集基础教程】过滤规则篇(四)

【DEDECMS采集基础教程】分页采集篇(五)
——————————————-

分页采集,一直是困扰很多站长的问题,对于文章内容的采集来说,并不难,最难的莫过于分页采集。因为多种多样的分页格式,在采集的时候怎样去取分页的区域,怎样才不会采集回来重复的内容,这确实是个头疼的问题。有次johnny在写采集规则的时候就因为疏忽,结果采集回来的文章内容重复了,所以johnny决定单独写此文来。在写本文的时候,johnny也思考过该怎么去写好本文,毕竟在这方面johnny也不是懂很多,希望能和各位一起学习研究。

接下来就以一个例子来分析,本次的例子网址是:
http://www.ladysfashion.cn/dress/dapei/20080321/1319.html

1、打开本文例子网址,把页面拉到下面,可以看到其分页,见下面图1:

image

图1.

这是典型的DEDE分页,有上下页,也列出了所有的分页。对于这种分页,我们在采集规则时,在“文档是否分页”一项中选择的是“全部列出的分页列表”。例如某些文档的翻页仅有上下也方式或者仅仅列出部分页码,其余内容用“…”或“更多”这种方式,那这项应选择的是“上下页形式或不完整的分页列表”。
对于分页类型的判断,我们应当多打开几个文章看看其翻页方式,再来决定选择分页方式,特别有些文章仅有单页并没有多页内容,他的翻页也就相应的没有,往往我们很容易的以为他的文章并没有分页,导致某些有分页的文章采集不到多页内容。分页方式的选择决定了采集回来的内容的完整性。

下面以一个错误的例子看看选择错误导致采集回来的内容重复:
在采集本文例子页面的时候,这里我选择的是“上下页形式或不完整的分页列表”,测试的时候是正常可以采集到内容,但当真正采集的时候,发觉采集回来的内容重复了,采集回来的结果看下图2:

图2.

若将上面例子的方式改为“全部列出的分页列表”,这样采集回来的结果见下图3:

image

图3.

从图2跟图3的对比,后者不会产生重复内容,而且在文章首行也不会多出“#e#”这个来。
举出这两个例子也是为说明此处选择的重要性。

2、分页链接区域匹配规则
这部分的选择也是有一定的技巧。假如有些文章有单页形式,也有多页形式,这时我们应打开有多页的文章 ,然后查看其源文件。
例如本文例子,我们首先要找到其分页区域HTML代码,见下图4选中部分:

image

图4.

接下来是选出具有唯一标识的代码作为分页链接区域的起始HTML,这点类似于其他部分的采集。本文例子的配置如下图5:

image

图5.

3、规则写好以后,在“采集节点管理”页面中的“测试”按钮可以测试采集规则能否采集到内容。但对于分页采集,该功能并不能测试出分页采集规则写得对不对。所以最好的方式是把采集规则的来源网址中分页变量起始值改为1页,然后实际采集,再看看采集回来的内容是否正确,若有错误就修改分页采集部分,再清空节点采集到的内容,再采集,如此反复直至完美为止。

至此,采集教程也就告一段落了,也许以后有时间johnny会再整理出采集模型的相关教程。若有什么问题,欢迎到本站给我留言一起研究学习或者到dede官方论坛去交流,那里的高手很多。

本站原创文章,请勿复制转载
版权声明:除特别注明外,本站所有文章均为原创,未经许可请勿复制、转载
2008-07-16
6,958 views
标签: , , ,
暂无评论

发表评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。