神刀安全网

【08】中级:翻页+层级采集(以微博评论内容采集为例)

请先安装爬虫软件。爬虫软件安装

前言

对于网页文本内容的采集,已经掌握了单页采集、翻页采集,这期看看如何“深入”采集,举个例子,小A最近在研究民众对某热点事件的观点,通过关键词”xx爆炸”关键词搜索出了一些微博,如果要采集这些微博的的所有评论,那么爬虫的采集路线应该是这样的:单页+翻页采集所有搜索出来的微博>进入这些微博的独立网页页面(手工是通过点击微博的发布时间就可以进入)>再次单页+翻页采集微博下的所有评论。

用前面的只是可以轻松搞定第一和第三步,第二步怎么实现?

能不能我将微博发布时间的在网页页面上的“位置”告诉爬虫,爬虫就知道该深入二级页面去抓评论内容呢?从而将这三个步骤连贯地执行起来。

是的,爬虫就是这么做的,通过建立“下级线索”来将这两步串起来。

这次教程接着微博博主主页的采集,主要实现:

  • 博主主页页面微博的采集(单页+翻页)
  • 然后采集每条微博下的评论内容(单页+翻页)

所以我们需要做两级规则,第一级规则负责抓取博主当前页面的内容以及线索网址,作为第二级采集规则的线索;第二级规则负责抓取微博独立页面下的所有评论。

下面是本教程的采集流程——

【08】中级:翻页+层级采集(以微博评论内容采集为例)

一、创建第一级规则,抓取微博内容

1.创建整理箱,新建抓取内容,并对相应的内容做内容映射。具体步骤可参考文章《【05】中级:翻页采集(以微博博主主页采集为例》

2.选择抓取目标,在谋数台的浏览器中点击包含第二级网址链接的区域(即微博的发布时间),则对应的网页节点会在网页标签栏中显示。

3.做内容映射,为对应第二级页面的网址信息,即@herf节点,做内容映射到整理箱中的第二级网址。

4.勾选下级线索,在整理箱中选中第二级网址并勾选下级线索。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_1.png

5.点击爬虫路线,在爬虫路线工作台填写下级线索指向的规则主题名,也就是第二级规则抓取微博评论内容的规则,这样运行第一个规则之后,采集到的网址就会自动给第二级采集规则生成采集的线索了(通俗理解就是第二个规则要采集的网页页面)。这里爬虫路线就有两个线索了,一个线索是做翻页用的,一个线索是生成下级线索的,它们互不干扰。

6.填写完第二级规则主题名后点击“谁在用”按钮,查看填写的主题名是否被占用,如果显示该主题名已被其他人占用,则需重新填写。

7.点击“存规则”。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_2.png

二、创建第二级规则,抓取微博评论内容

1.随便选择一条独立微博的网址作为第二级规则的样本网址:http://weibo.com/1254123322/E8cXC99Yk?from=page_1003061254123322_profile&wvr=6&mod=weibotime&type=comment

2.创建整理箱,新建抓取内容,并对其做内容映射。这里分别给“评论人、评论内容、评论时间和支持数”做内容映射。

3.对每一行评论内容做样例复制,点击“列表”,在样例复制管理栏勾选“启用”,点击第一行评论,找到对应的div节点,右击,选择样例复制映射第一个;然后找到第二行内容对应的div节点,样例复制映射为第二个。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_3.png

三、创建翻页线索

1.点击爬虫路线,点击新建,创建一条线索。

2.选择线索类型,设置翻页线索时通常选择记号线索,并勾选连贯抓取。

3.勾选连贯抓取后,目标主题名自动填写当前规则主题名,在本规则内不应修改,表示翻页后继续使用当前规则进行抓取。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_4.png

4.选择线索定位选项。点击爬虫路线工作台中的“定位选项”,线索定位选择偏好class。因为网页结构中的@id属性每个页面不同的几率较大,如果线索定位偏好@id,容易导致在后续的抓取中翻页失败,所以,一般手工修改为较为稳定的@class属性作为线索定位的首选项。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_5.png

四、在网页结构中找到定位翻页标志的对应节点

1.在网页上点击翻页标志“下一页”,定位到该信息的的模块节点。

2.找到“下一页”对应的text()节点。

3.点击text()节点会在显示工作台中显示,找到对应节点后,即可开始进行线索映射。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_6.png

五、翻页记号线索映射

1.如图所示,选择节点进行线索映射,右击对应的text()节点,选择线索映射后点击记号映射,可在爬虫路线工作台记号值中看到“下一页”,记号定位编号显示“下一页”text对应的编号。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_7.png

六、翻页线索定位映射

1.选择线索定位区块,线索定位的区块一般是包含“下一页”翻页标志的区块节点,也就是网页上的翻页区块。

2.进行线索定位映射,右击翻页区块节点,选择线索映射—定位—线索1,。完成后定位编号会显示翻页区块节点的定位编号。

3.这样就完成了网页翻页规则的定义,接下来就是保存规则,爬数据了。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_8.png

七、存规则,DS打数机抓取数据

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_9.png

1.点击存规则,弹出提示框保存成功。

2.点击爬数据,启动打数机开始爬数据。

3.最后将数据转换为excel格式。

到这里,将两个规则都创建完了,先运行第一级规则,只要采集开始为下级创建了线索,第二级规则立马就可以运行起来了。这里基本上可以同时运行。

这里我们用DS打数机窗口来运行多个规则——

首先对第一级规则点击“单搜”,抓取第一级规则的数据,同时为第二级规则生成线索。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_10.png

然后右击第二级规则,点击“统计线索”,会显示已经生成的线索数。再点击“单搜”,输入相应线索数即可抓第二级的数据了。

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_11.png

将xml结果文件转换成excel参看:【04】基础:将采集结果转成excel

下面是结果文件的部分截图——

【08】中级:翻页+层级采集(以微博评论内容采集为例)
8_12.png

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 【08】中级:翻页+层级采集(以微博评论内容采集为例)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址