本文介绍使用八爪鱼采集腾讯新闻的方法现在为了提高观众的阅读体验,门户网站一般新闻标题点进去之后都是图文模式的,所以采集起来相对全文字模式难一点点。但学会之后用户可以熟练使用我们的各种步骤来采集你所需要的各类网站数据,成为采集达人

 

采集网站:

http://news.qq.com/

 

 

本文就以腾讯新闻主页下的某一个分类--文化,来具体说明怎么去采集类似的图文新闻或文章。

 

采集的内容包括:点击标题后新闻的正文(含图文)。

 

使用功能点:

l 列表循环

l Ajax点击

l 分支判断

 

步骤1:创建腾讯新闻采集任务

1)进入主界面,选择自定义采集

 

 

 

2)将要采集的网址URL复制粘贴到网站输入框中,点击“保存网址

 

 

 

步骤2:创建循环加载更多步骤

1)打开网页之后,进入主页,然后选择类别--文化

 

 

2)打开右上角的流程按钮,可以显示你所创建好的步骤,进入到新闻--文化页面后,我们往下拖动页面到新闻列表的底部,可以看到一个按钮,点击查看更多


3)这时,我们需要多次点击之后才能把所有新闻标题都显示出来,这样才不会漏采数据,所以我们在页面上点击该位置,然后提示栏那选择循环点击单个链接,循环点击就设置好了

 



注意,由于点击该按钮,网页url地址栏那边没有转动,url也没有变化,所以需要设置一下ajax,这样,循环点击加载更多就创建好了。

 

步骤3创建循环列表点击

 

1)首先我们得了解到,循环列表点击是要等页面上所有的新闻标题都加载出来了才进行操作的,所以循环列表应该是放在循环点击加载更多的下面,而不是包含的关系,所以,我们就按照新手教程3里的操作那样,依次点击第一,第二个标题,这是可以看到所有的新闻标题都包含进来了,我们选择循环点击每个元素

 



2)就这样,循环列表点击就创建好了,但是八爪鱼自动生成的位置有点不一致,我们刚才讲了,这个应该放在上一个循环点击加载更多的下面,所以得把循环列表给拖出来,放到下面,规则才是正确的

 

 

 

步骤4利用分支判断来采集文章

1)进入新闻详情页后,可以看到文中有一个点击查看全文的按钮,需要点击后才能显示全文,所以我们先设置一个点击元素



2)另外还是要注意一下,这个点击也是ajax加载的,所以我们需要在高级选项里勾选一下ajax,3秒就够了

 



3)全文显示出来后就需要对文章进行采集了,此时我们可以看到文中是图片跟文本段落并存的,而且图片和文本段落位置都是随机的,这时候如果按照以前的方法,对文中的段落进行循环提取,图片url是没办法采集下来的,而且采集也很容易出错,所以这种办法是行不通的。所以我们只能通过更复杂一点的步骤来采集所有我们想要的数据,也就是这个教程的重点(难点)--分支判断+xpath!!!

 



4)首先,我们对图片和文本段落设置好一个循环列表

 

 

5)然后,我们从流程的左侧拖一个分支判断进来,放在循环列表的下面



6)注意!因为提取数据的步骤是判断后再执行的,所以我们要把提取数据这个步骤复制一下,放入到两个分支里面(也可以拖入一个提取数据的步骤放进去),分支判断的知识点里有讲到过,左右分支里提取数据的字段名,字段数量必须是一致的,我们这边两个提取数据的字段名都设置成concent,设置第二个时它会提示你,选择是即可。

 



7)这时,我们就要设置好分支判断的条件了,由于是图文都采集,一般默认都是左分支判断图片并采集图片的url,右分支不做判断,直接采集文本。判断图片的话就必须得判断元素,需要手写xpath,由于图片都是img元素,所以这里的xpath相对来说比较简单,直接写一个.//img即可,注意是勾选当前循环项包含元素

 



8)然后再对左分支里采集图片的提取数据做一个提取字段的设置,首先循环列表里选到一个图片项,然后依次手动执行到分支里的图区数据的步骤,再点击文章中对应图片的位置,设置一个提取图片的字段即可。

 

 



9)左分支图片链接和右分支文本信息设置好后,就基本大功告成了。

 

 

 

 

步骤4设置追加--字段合并

1)因为我们要把整个正文采集到一个数据里,而且段落格式都应该跟原文是一致的,我们我们得对数据字段进行一个追加。首先点到提取数据下面的自定义数据字段

 



2)选择点击第四个--自定义数据合并方式

 

 

3)然后再选择第二个--同一字段多次提取合并到一行,点击确定保存

 

4)再对另一个提取数据进行相应的设置,就这样,规则就大功告成了

 

 

步骤5运行采集

1)我们以本地采集为例,保存任务,然后再点击采集-本地采集

 

2)这时,可以查看到数据,每一个新闻正文都采集在一个数据里,并且正文格式都保留了下来,就这样,图文模式的文章我们就成功的采集下来,以后如果你有碰到这样的页面,就可以按照这个方法,轻松的采集下来。