请先安装爬虫软件。爬虫软件安装
先回顾一下单页采集所讲到的内容。
以微博博主主页采集为例,目标是采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数。
单页采集的流程共分为四步——加载页面、内容映射、样例复制、存规则和抓数据。
本次讲解的翻页采集的流程相较于单页采集而言,只增加了一个步骤,如图——
前三个步骤与单页采集前三个步骤一样,这里不进行赘述了,可以回顾原来的文章《【02】基础:单页采集(以微博博主主页采集为例》。
现在重点讲解如何设定翻页采集。
四、通过‘爬虫路线’来设定翻页
通过新建爬虫路线来设定采集的翻页路线——
- 跳转到爬虫路线工作台。
- 点击新建,创建一条线索。
- 选择线索类型,设置翻页线索时通常选择记号线索,本文主要介绍的就是记号线索。
- 勾选连贯抓取,表示在执行抓取任务时,爬虫可以在同一个DS打数机窗口内抓取完当前页面后直接跳转到下一个页面进行抓取。
- 勾选连贯抓取后,目标主题名自动填写当前规则主题名,在本规则内不应修改,表示翻页后继续使用当前规则进行抓取。
- 在爬虫路线工作台中点击定位选项。
- 线索定位选择偏好class。
(网页结构中的@id属性每个页面不同的几率较大,如果线索定位偏好@id,容易导致在后续的抓取中翻页失败。所以一般我们手工修改选择较为稳定不变的@class属性,作为线索定位的首选项。)
接下来的操作——
- 往下滚屏,直到在网页上出现“下一页”,点击它,会弹出该信息的定位提示框,通常是定位到模块节点(即包含多个下层节点,可双击展开,例如A节点)
- 展开A节点,找到“下一页”对应text节点(text节点即为文本节点)
- 点击对应text节点会在显示工作台中显示。
前面的操作,一是先定义爬虫路线,选择了连贯抓取和记号线索,二是找到翻页标志“下一页”所在的text节点。
接下来,右击“下一页”对应的text节点,选择线索映射后点击记号映射,对应的爬虫路线工作台记号值中就可以看到“下一页”了。
同时,记号定位编号也会相应显示“下一页”在网页结构窗口中的对应编号。
然后就是给翻页线索进行定位了。
- 选择线索定位区块,线索定位的区块一般是包含"下一页"翻页标志的区块节点,也就是网页上的翻页区块(在网页结构窗口中点击包含 “下一页”翻页标志的区块节点,会在浏览器窗口中显示)。
- 右击翻页区块节点,选择线索映射→定位→线索1 。
不要纠结于翻页线索是什么,给翻页线索进行定位相当于是确定记号线索的大范围,记号线索的理解就是告诉爬虫点击哪里可以翻到下一页。
到这里不着急测试,我们先停下来捋一捋爬虫的采集路线。
首先,MS规则制定工作台中的“创建规则”告诉了爬虫在当前页要采集的信息有哪些。
接着,MS规则制定工作台中的“爬虫路线”中的记号线索告诉爬虫采集完当前页之后点击“下一页”(相当于一次‘模拟点击’),连贯抓取告诉翻到新的页面之后继续套用这个采集规则。
整个流程相当于是这样的:(采集线索网址的当前页的内容->翻页到新的页面)->(采集新页面的内容->翻页到新的页面)—>(采集新页面的内容-> 翻页到新的页面)... ... ->最后一页采集完毕。
连贯抓取相当于将整个循环路线串起来了,这样整个爬虫流程就通畅了。
五、保存规则,运行DS打数机抓取数据
保存完规则之后,就可以启动DS打数机了。
在爬数据之前,我们先要设置一下滚屏的参数。
在最开始制作规则的时候就可以看到,微博下方需要加载两次才能完全显示一页的所有微博数量,会出现“正在加载中”的字样,这种情况下就可能需要设置滚屏的参数。(默认值为:次数2,速度2)
滚屏次数与滚屏速度分别是5和3,通过测试之后,这个组合是最优组合。
这些数字不是固定的,可根据情况进行调整。
- 滚屏次数:额外滚屏次数,缺省为0,表示不滚屏
- 滚屏速度:-1和1表示不变速,<-1表示降低速度,>1表示提高速度
最后获取到的采集结果(节选部分)如下图:
接下来回顾下如何将采集结果转成Excel。
六、将采集结果转成Excel
- 登录GooSeeker官方网站,点击“爬虫管理”。
- 点击“数据管理”,找到对应规则后,点击“导入数据”。
- 把压缩好的数据导入。注:上传的文件中只能含有XML格式或者ZIP格式。
- 导入好后,返回数据管理页面,点击“导出数据”,下载已转换好格式的数据。
已转换为excel格式的数据请看下图:
来源:oschina
链接:https://my.oschina.net/u/2758756/blog/749803