• 欢迎访问誉卿博客,推荐使用最新版火狐浏览器和 Chrome 浏览器访问本网站。

  • 初不解禅心未住,悟后逍遥游处方。 山水有情皆由心,见山见水皆天堂。

通俗图文采集实例讲解第二期

网络 yqdnsjs 12年前 (2013-02-19) 335次浏览 扫描二维码

那天在论坛里给位朋友写腾讯女性频道的一个栏目规则时,发现该标题列表是JS分页方式,内容页也有很多需要过滤的东西, 所以当时就打算写个教程,一直没时间弄,终于空了些来完成这个教程,本打算就做个图文教程,又看到论坛里有兄弟抱怨没 有采集的视频教程,所以就录了这个<<will版P8通俗图文采集实例讲解第二期>>视频讲解,不过个人还是比较偏爱于图文的 讲解,所以一并放出,希望大家笑纳!!如果对于图文看得不是很懂的朋友可以下载视频来观看,本人第一次录制视频,对于编码选择这方面的东西不是很懂,所以成品有些过于臃肿了,视频时长近50分钟,压缩包大小为127MB,呵呵,网速好的话下载也 不用多久!!
首先介绍一下我们今天的知识点!如下图:
图1 

主要就上面罗列的4点,其实也就是JS列表的获取方法,以及内容过滤方式的讲解,3和4是两个PHP系统函数. 打开我们要采集的目标站:http://lady.qq.com/beauty/beauty1/llryxsj.htm(腾讯女性频道>>美容护肤)
图2 

我们在点击翻页的时候会发现地址栏并没有变化,整个列表内容由JS来调用,是JS分页方式,碰到这种分页我们要怎么办呢?
这时我们需要用到一个抓包的工具,我们将用这个工具来获取列表页的真实地址,这个工具我在论坛里有发可以在这里获得:
http://bbs.php168.com/read-bbs-tid-273215-fpage-0-page-1.html
图3 

上表的正则工具我也在后面讲解内容过滤的时候也会用到.
抓包工具为绿色软件,解压后可以直接使用,使用这个软件的时候可能有些杀毒软件会干掉它,这时候需要把杀软件先禁用.
我们打开这个抓包工具,点击打包按钮,选择所使用的浏览器进程,找到腾迅女性频道的选项卡;如图4:

双击打开,出现如下界面:
图5 

把界面最小化,然后我们点击腾讯女性栏目的翻页,来翻动一页,翻页后再打开抓工具,我们这时就能看到里面多了很多的数据, 有一些是以GET开头的,我们就是需要从这些GET的数据行里找出真实的列表页地址(注:有一些网页可以使用的是POST的发送方式 那就是POST开头)
如图6: 

我们把GET后面的网址输入到地址栏里去测试一下,这里只截获了两个GET,我测试的时候第一个是错误的,第二个是正确的:网址为: /c/beautysj35_2.htm,我们在前面用根网址补齐地址就是:http://lady.qq.com/c/beautysj35_2.htm 输入地址栏就可以看到真实的列表页:
如图7: 

然后我们把这个地址填写到采集列表的规则里去,就是如下设置:
如图8: 

我们现在来写获取标题以及内容的网址的规则,在上一篇教程里我也有提到过;我习惯使用截取标题前不需要的以及截取标题后不需要的内容,这样可以减少标题规则的错误率. 我们先来查看一下列表页的源代码,如图9:

我们会看到这个面页的代码比较简单,里面就只有一个id为listZone的DIV而已,所以我们在取部分就这样设置:
如图10: 


然后是填写变量规则的部分设置,代码如下:

复制代码

  1. <a target=”_blank” href=”{url=NO”}”>{title=NO<}</a>

我们来测试一下采集标题,测试结果没有问题可以正确得到标题和内容的网址.点击下一步,开始配置内容的规则我们随机的打开两到三个个内容页面!查看并对比其源代码:我们可以很容易的找出文章内容开始前的标记代码,并且该标记在页面中是唯一存在的是:

复制代码

  1. <div id=”ArticleCnt”>

这段HTML标记,然而结尾的部分就不太好确定了,因为从打开的三人面页上我们可以看到,正文结束后的部分都不太一样,如图11:
 



随机的浏览一些内容页面我们就会发现正文后面都会随机出现这三部分内容,所以我们找的结尾一定不能是这个部分源码里的任何一个否则就无法正确采集到所有的文章. 我个人是喜欢使用分页代码所在的那个层来做为结尾的,规则做多了你就能发现分页的那段代码前面的一个DIV或者是P或者是SPAN标记基本上是唯一存在在面页中的,所以我每次只要存在有分页我就会直接寻找这段代码来做为规则结尾的代码. 像这样的正文我们原则是结尾的标记尽量的往后找,并尽量保证它的唯一性(其实只要是正文开始后第一次出现的标记就可以了),
下面我先放出目标内容页的部分源代码,方便大家理解:

复制代码

  1. <div id=”cntMain”>
  2. <div id=”cntL”>
  3. <div id=”ArticleTit”>婚礼“美眉”如何护理眼睛?</div>
  4. <div id=”ArtFrom”>
  5. <a href=”http://lady.qq.com”>http://lady.QQ.com</a>2009年12月14日14:36
  6. 新娘网站
  7. <a target=”_blank” href=”http://comment5.lady.qq.com/comment.htm?site=lady&id=21961776″>我要评论(<span id=”comment_count”>0</span>)</a>
  8. </div>
  9. <div style=”width:534px; margin:0 auto; background:#F3F3F3; padding: 13px 11px 13px 16px; font-size:14px; line-height:25px; text-indent:2em; text-align:left; color:#333″>
  10. <strong>导读:</strong>眼睛虽然只占脸上的一小部分,却是影响整体美感的重要“窗口”,一双如波美目常常会给个人的气质加到满分。眼睛应该怎样护理?怎样让黑眼圈、肿眼袋、细小皱纹等“小麻烦”通通远离?来看看吧</div>
  11. <div style=”height:3px;line-height:3px;clear:both”></div>
  12. <!– <div id=”ArtHot”>
  13. <div> <a href=”http://lady.qq.com/6t7y.htm&#8221; target=”_blank”><img src=”http://mat1.qq.com/lady/p_w_picpath/index/2007/11/06/diceng.jpg&#8221; width=”106″ height=”65″ border=”0″ /></a>
  14. </div>
  15. <div>
  16. <p><a href=”http://lady.qq.com/6t7y.htm&#8221; target=”_blank”>6天7夜真情大考验 25万大奖等你拿</a></p>
  17. <p> UAA六天七夜浪漫海岛真情大考验活动现募集选手,请您任选4种方式获得晋级资格,即可免费赴荒蛮海岛参加生存考验,还有25万大奖等你拿!<a href=”http://lady.qq.com/6t7y.htm&#8221; target=”_blank”>[详细]</a></P>
  18. </div>
  19. <div></div>
  20. </div>–><div id=”ArticleCnt”><P align=center><A _fcksavedurl=”http://lady.qq.com/a/20091214/000162_1.htm&#8221; href=”http://lady.qq.com/a/20091214/000162_1.htm”><IMG alt=婚礼“美眉”如何护理眼睛? src=”http://img1.gtimg.com/lady/pics/25522/25522473.jpg”></A></P><P style=”TEXT-INDENT: 2em”><STRONG>1.改善眼浮肿的有效办法:</STRONG></P><P style=”TEXT-INDENT: 2em”>婚礼前一个月:每天早晚坚持做眼部保养,最好选择植物精华且能够有效舒张及减轻眼部浮肿成分的眼胶保养品,或者将维生素E直接涂于下眼睑出,以加强皮肤抗衰老能力。</P><P style=”TEXT-INDENT: 2em”>婚礼前夜:入睡前一小时千万不要喝水,否则容易出现排水不畅,而导致眼部浮肿。另外,不妨使用比较硬额枕头,帮助血液循环,以免液体淤积在眼部形成眼袋。</P><P style=”TEXT-INDENT: 2em”>婚礼当天应急措施:将蘸满冰冻鲜奶的收缩水的化妆棉冷敷在眼睛上,5-10分钟后再用冷水清洗,有助减轻浮肿的眼肚。</P><P style=”TEXT-INDENT: 2em”>药物治疗:如果眼睛浮肿的情况已极为严重,可以尝试吃半粒利尿丸,以帮助排去体内多余水分。</P>
  21. <P style=”TEXT-INDENT: 2em”><STRONG><SPAN style=”COLOR: #800000″>相关精彩阅读[内容太多这里略去]</P>
  22. <P style=”TEXT-INDENT: 2em”><TABLE cellSpacing=3 cellPadding=2 width=500 align=center border=0>
  23. <TBODY>[内容太多这里略去]</TABLE><!–[if !IE]>|xGv00|76fca59fc558e522ed786cfaaee0b80e<![endif]–></P><P style=”TEXT-INDENT: 2em”><style>
  24. /*重点阅读*/[内容太多这里略去]</div>
  25. <div id=”ArtPLink”>[这里是分页]</div>

我选择结尾的HTML标记为

复制代码

  1. <div id=”ArtPLink”>

所以内容规则就是这样了:

复制代码

  1. <div id=”ArticleCnt”>{content=*}<div id=”ArtPLink”>

但是规则做成这样,我们就会把后面的那些个不需要的部分采集回来,所以我们需要来过滤掉这些不需要的部分! 我把后面不需要的部分分成了三个段:

复制代码

  1. <P style=”TEXT-INDENT: 2em”><STRONG><SPAN style=”COLOR: #800000″>相关精彩阅读[内容太多这里略去]</P>

 

复制代码

  1. <P style=”TEXT-INDENT: 2em”><TABLE cellSpacing=3 cellPadding=2 width=500 align=center border=0>
  2. <TBODY>[内容太多这里略去]</TABLE>

 

复制代码

  1. <style>
  2. /*重点阅读*/[内容太多这里略去]</div>

我们要怎么来过滤这三部分呢?我们将用到高级设置里的倒数第二个框”结尾PHP正则程序语法 ” 我们先来看下上一个教程中给出的部分正则代码 图文的先写到这里吧,后面的今天实在是写不下去了!!!见谅!!大家需要可以先看视频教程,讲解更为详细一些!
图文的教程剩下的部分有时间再来补上吧!!

喜欢 (0)