自动选择下拉菜单采集数据—以知网为例

2021-3-22 18:03| 发布者: Fuller| 查看: 7939| 评论: 0

摘要: 以中国知网的期刊为例,演示怎样从年份的下拉菜单中选择2016年,然后点击搜索按钮,搜索2016年的期刊。总共要做三个动作,动作1和2在下拉菜单中选择2016,动作3点击搜索。为了实现这个自动采集,需要建立两级任务, ...

配套软件版本:V10及更高 数据管家——增强版网络爬虫

老版本对应教程:V9及更低 集搜客网络爬虫 的对应教程是《连续动作:自动选择下拉菜单采集数据—以知网为例


以中国知网的期刊为例,演示怎样从年份的下拉菜单中选择2016年,然后点击搜索按钮,搜索2016年的期刊。总共要做三个动作,动作1和2在下拉菜单中选择2016,动作3点击搜索。

为了实现这个自动采集,需要建立两级任务,第一级任务通过连续动作来自动选择年份和点击搜索,第二级任务负责采集搜索结果,即期刊内容。

案例:

第一级采集规则:中国知网期刊检索前

第二级采集规则:中国知网期刊检索后

样本网址:http://epub.cnki.net/kns/brief/result.aspx?dbprefix=CJFQ

采集内容:每一篇文献的标题、作者、刊名、年期、被引、下载


1. 定义第一级任务

1.1 打开网页,进入任务定义状态


1.2 标注一个字段

在第一级任务的页面,没有我们要采集的字段。但是爬虫需要知道网页是否正确加载出来了,所以需要至少抓一个字段。字段的标注操作见《采集网页数据》。


1.3 设置动作

转到工作台4,新建动作。动作类型是“选择”。

动作后,执行的目标任务是“中国知网期刊检索后”。


1.3.1 第一个下拉菜单选择2016

点击一下起始年份,在下面的DOM窗口会自动定位到相应节点。这个节点有特殊的id属性:year_from  ,所以 “生成XPath“选择”偏好id”。


xpath生成后,点击搜索,可以看到只定位到了当前这个节点,所以是正确的xpath。复制拷贝到交互位置。在动作名称写上文字,是为了方便清楚每个动作的用处。


起始时间框对应SELECT节点,它的下级有很多option节点,每个option对应一个具体的年代,第41个option对应2016,所以在高级设置里起点选择41。


跨度10是什么意思?就是隔10个option再去选择,本例只想选2016,所以跨度选择了一个比较大的数10,因为没有第51个option。

另外上图中,额外延时2秒,表示做完这个动作后延迟2秒再去做第二个动作,是为了避免动作做得太快而页面还没做出反应导致采集失败。下面两个动作,都选择了额外延时2秒。

Tips:选择类型的连续动作,定位表达式必须写到下拉菜单的select节点,而不能写到某一个选项的option节点,否则运行时会报错。


1.3.2 第二个下拉菜单选择2016

在第二个下拉菜单中,选择到2016。操作过程与起始年份选择类似。


1.3.3 点击搜索按钮

第三个动作是点击动作。


1.4 测试,保存第一个任务

到工作台2,测试,保存第一个任务。现在不要启动采集数据,因为第二级任务还没有做。


2. 退出第一级任务

橙色的退出按钮在浏览器的右上方。


3. 定义第二级任务

3.1加载出要采集的页面

在网页上搜索2016年期刊,加载出要采集的页面。然后,点击+号,进入第二级任务定义状态。第二级任务的名字要与第一级任务中指定的下级任务名一致。


3.2 标注字段,样例复制和翻页设置

知网的期刊搜索页面是典型的带翻页的列表页面。可以按初级教程里的《采集网页数据》,《采集列表数据》《翻页采集》来定义任务。完成后,测试保存第二级任务。

4. 启动任务,采集数据

第一级和第二级任务都定义完成后。去任务管理页面。


启动第一级任务,采集数据。注意,不用去启动第二级任务,它会自动执行。

期刊搜索结果有很多页,如果想要采集快点结束,可以在启动采集,限制翻页次数。



采集过程中,可以看到在采集窗口,自动选择了2016年,并自动点击搜索,搜索结果加载出来,然后一页页翻页采集。

采集完成后,按采集窗口的提示,导出excel。

本例采集到的样本数据。

 
上篇文章:鼠标悬停信息采集—以淘宝店铺动态评分为例       下篇文章:《自动回退返回上级页面-以懂车帝采集为例


鲜花

握手

雷人

路过

鸡蛋

最新评论

GMT+8, 2024-3-29 20:48