【05】中级:翻页采集(以微博博主主页采集为例)

蹲街弑〆低调 提交于 2020-04-11 18:04:07

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

先回顾一下单页采集所讲到的内容。

以微博博主主页采集为例,目标是采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数。

单页采集的流程共分为四步——加载页面、内容映射、样例复制、存规则和抓数据。

本次讲解的翻页采集的流程相较于单页采集而言,只增加了一个步骤,如图——

输入图片说明

前三个步骤与单页采集前三个步骤一样,这里不进行赘述了,可以回顾原来的文章《【02】基础:单页采集(以微博博主主页采集为例》

现在重点讲解如何设定翻页采集。

四、通过‘爬虫路线’来设定翻页

通过新建爬虫路线来设定采集的翻页路线——

  1. 跳转到爬虫路线工作台。
  2. 点击新建,创建一条线索。
  3. 选择线索类型,设置翻页线索时通常选择记号线索,本文主要介绍的就是记号线索。
  4. 勾选连贯抓取,表示在执行抓取任务时,爬虫可以在同一个DS打数机窗口内抓取完当前页面后直接跳转到下一个页面进行抓取。
  5. 勾选连贯抓取后,目标主题名自动填写当前规则主题名,在本规则内不应修改,表示翻页后继续使用当前规则进行抓取。
  6. 在爬虫路线工作台中点击定位选项。
  7. 线索定位选择偏好class。

(网页结构中的@id属性每个页面不同的几率较大,如果线索定位偏好@id,容易导致在后续的抓取中翻页失败。所以一般我们手工修改选择较为稳定不变的@class属性,作为线索定位的首选项。)

输入图片说明

接下来的操作——

  1. 往下滚屏,直到在网页上出现“下一页”,点击它,会弹出该信息的定位提示框,通常是定位到模块节点(即包含多个下层节点,可双击展开,例如A节点)
  2. 展开A节点,找到“下一页”对应text节点(text节点即为文本节点)
  3. 点击对应text节点会在显示工作台中显示。

输入图片说明

前面的操作,一是先定义爬虫路线,选择了连贯抓取和记号线索,二是找到翻页标志“下一页”所在的text节点。

接下来,右击“下一页”对应的text节点,选择线索映射后点击记号映射,对应的爬虫路线工作台记号值中就可以看到“下一页”了。

输入图片说明

同时,记号定位编号也会相应显示“下一页”在网页结构窗口中的对应编号。

输入图片说明

然后就是给翻页线索进行定位了。

  1. 选择线索定位区块,线索定位的区块一般是包含"下一页"翻页标志的区块节点,也就是网页上的翻页区块(在网页结构窗口中点击包含 “下一页”翻页标志的区块节点,会在浏览器窗口中显示)。
  2. 右击翻页区块节点,选择线索映射→定位→线索1 。

输入图片说明

不要纠结于翻页线索是什么,给翻页线索进行定位相当于是确定记号线索的大范围,记号线索的理解就是告诉爬虫点击哪里可以翻到下一页。

到这里不着急测试,我们先停下来捋一捋爬虫的采集路线。

首先,MS规则制定工作台中的“创建规则”告诉了爬虫在当前页要采集的信息有哪些。

接着,MS规则制定工作台中的“爬虫路线”中的记号线索告诉爬虫采集完当前页之后点击“下一页”(相当于一次‘模拟点击’),连贯抓取告诉翻到新的页面之后继续套用这个采集规则。

整个流程相当于是这样的:(采集线索网址的当前页的内容->翻页到新的页面)->(采集新页面的内容->翻页到新的页面)—>(采集新页面的内容-> 翻页到新的页面)... ... ->最后一页采集完毕。

连贯抓取相当于将整个循环路线串起来了,这样整个爬虫流程就通畅了。

五、保存规则,运行DS打数机抓取数据

保存完规则之后,就可以启动DS打数机了。

在爬数据之前,我们先要设置一下滚屏的参数。

在最开始制作规则的时候就可以看到,微博下方需要加载两次才能完全显示一页的所有微博数量,会出现“正在加载中”的字样,这种情况下就可能需要设置滚屏的参数。(默认值为:次数2,速度2)

输入图片说明

输入图片说明

输入图片说明

滚屏次数与滚屏速度分别是5和3,通过测试之后,这个组合是最优组合。

这些数字不是固定的,可根据情况进行调整。

  • 滚屏次数:额外滚屏次数,缺省为0,表示不滚屏
  • 滚屏速度:-1和1表示不变速,<-1表示降低速度,>1表示提高速度

最后获取到的采集结果(节选部分)如下图:

输入图片说明

接下来回顾下如何将采集结果转成Excel。

六、将采集结果转成Excel

  1. 登录GooSeeker官方网站,点击“爬虫管理”。
  2. 点击“数据管理”,找到对应规则后,点击“导入数据”。
  3. 把压缩好的数据导入。注:上传的文件中只能含有XML格式或者ZIP格式。
  4. 导入好后,返回数据管理页面,点击“导出数据”,下载已转换好格式的数据。

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

已转换为excel格式的数据请看下图:

输入图片说明

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!