网站地图    收藏   

主页 > 后端 > 帝国cms难点 >

帝国cms采集图文教程(2)

来源:未知    时间:2015-06-05 13:35 作者:xxadmin 阅读:

[导读] 上一页我们介绍了帝国cms采集基本流程,那么我们这一讲介绍帝国cms如何采集内容分页。不少的同学在采集过程中,列表页和内容页都能可以很好地设定正...



上一页我们介绍了帝国cms采集基本流程,那么我们这一讲介绍帝国cms如何采集内容分页。不少的同学在采集过程中,列表页和内容页都能可以很好地设定正则,但往往失败在内容分页正则上,主要是对内容分页正则不了解。帝国的内容分页形式有两种:(1)全部列出式(2)上下页导航式,但是这两种内容分页形式有什么区别,采集内容分页时该用哪种,官方说得比较模糊,对此有些同学感到很头大,好的,我们先看下例子:
  一、全部列出式
  全部列表式只需看第一页的页面HTML代码,这一页的所有分页链接都列出来了。
  1、我们以“中华网内容分页(http://auto.china.com/dongtai/yejie/11012724/20120309/17081442.html)”为例:
   
  可以看到这条新闻总共有3条分页。
  2、查看源代码:
   
  这一页里除了已经采集到的第1条分页外,还包括了第2条和第3条分页,所有的分页都列出来了。
  3、取得 分页区域正则([!--smallpageallzz--]):
   
  4、取得 分页链接正则([!--pageallzz--]):
   
  二、上下页导航式
  上下页导航式是分页采集的难点,他需要所有页面都符合分页正则才行,在不熟悉的情况下,我们可以用第1页和第2页的代码来进行对比分析然后确定分页正则。
  1、我们以“爱丽网内容分页(http://fashion.aili.com/76/445845.html)”为例:
   
  可以看到这条新闻总共有20条分页。
  2、查看源代码:
   
  这一页里除了已经采集到的第1条分页外,还包括了第2,第3,第4,第5,第6,第7,第8,第20条分页,但是第9到第19条分页并没有列出来,这时候我们拿用第1页和第2页的代码来进行对比分析,来确定分页正则:
  (1)第1页代码:
   
  (2)第2页代码:
   
  从这两幅图片可以看到他们有着相同的“分页区域开始代码”,“分页链接”格式,“分页区域结束代码”,那么就可以确定“分页区域正则”,“分页链接正则”。
  3、取得 分页区域正则([!--smallpageallzz--]):
   
  4、取得 分页链接正则([!--pageallzz--]):
   
  5、为了方便教程显示,newstext我采集了标题而不是采集内容,预览结果:
   
  注意事项:
  第一、在第一页的页面HTML代码里,内容分页链接全部列出来的情况下我们使用“全部列出式”。在第一页的页面HTML代码里,内容分页链接没有全部列出来的情况下我们使用“上下页导航式”。
  第二、用全部列出式时,采集规则正确但是莫名其妙的出现重复的分页,这时可以利用替换法把它过滤掉(下一讲我们再说)。
  第三、用上下页导航式时,老是采到第1页,其他页连个影子都没有见过,这是因为分页区域正则([!--smallpagezz--])截取错误。
  第四、用上下页导航式时,可以采集到前几页了,但是接下来这前几页全部重复循环到底,这也是因为分页区域正则([!--smallpagezz--])截取错误,截取范围过大,导致重复截取前几个分页链接。
  好的,这一讲就到这里,下一页我们主要介绍帝国cms采集过滤和替换。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论