第 2 课:采集数据中,学习了如何从网页抓取我们的文本、图片、超链接,对八爪鱼【自定义配置】任务采集数据的过程进行了展示。本课将继续深入学习采集有一些列表中的数据。

 

列表是最常见的网页样式。示例:京东商品列表,58个同城房书源列表,豆瓣列表。通过简单配置,八爪鱼可以自动采集全部列表中的数据。

 

现在有一个豆瓣图书列表的网页:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4。网页上有很多结构相同的图书列表,每个图书列表列表的领域:图书标题、出版信息、评分、评价人数、图书简介等。

 

 

鼠标打开图片上,简洁,选择【在新标签页中打开图片】可查看高清大图

其他图片同理

 

我们想将上述网页上的一些列表中的资料,按照网页排列的内容汇总下来,保存为Excel等结构化的数据,如下图所示:

 

 

在八爪鱼中如何操作? 示例网址

一、智能识别

使用智能识别,支持输入识别网址,自动获取数据并生成流程。

 

 

二、自行配置采集流程

以下为具体步骤:

 

步骤一、输入网址

在首页【输入框】中输入目标网址,点击【开始采集】,八爪鱼自动打开网页。如果自动开始智能识别,可点击【不再自动识别】或【取消识别】。如果已关闭智能识别,可以进行下一个步骤。

 

 

 

步骤二、建立【循环-提取数据】

 

观察网页可以看到此网页上有很多图书列表,每个列表结构相同,都包含图书标题、出版信息、评分、评价人数、图书简介等领域。最关键的点在于:如何让八爪鱼识别所有列表,并按具体收集图书列表中的数据。

在八爪鱼中,建立【循环提取数据】可实现此需求。【循环提取数据】会包含所有的图书列表,并按顺序收集收集收集中的数据。 【循环提取数据】需要特定的步骤,下面为具体步骤。

 

先看建立【循环-提取数据】的完整步骤

 

 

再步骤,进行详情说明:

 

1、选中页面上1个图书列表。选中后的列表会被绿色框框起来,同时出现黄色操作提示框,我们发现了【子元素】,这里的【子元素】就是图书列表中的具体提示。

 

 

特别说明:

选中1个列表,第1个,第2个,第3个...列表都行。

在选中列表时,需特别注意范围。被选中的范围(绿色部分)需最大,包括要采集的所有内容。

 

 

2、在黄色操作提示细节,选择【选中全部子元素】。第1个商品列表中的具体细节就被选中了,八爪鱼发现页面还有很多同类的相同子元素。

 

 

 

3、黄色操作提示按钮,继续选择【选中全部相似组】

 

 

4、在黄色操作提示下,选择【元素中数据内容 】。此时八爪鱼将列表中的字段都提取下来了。

 

 

 

特别说明:

连续步骤1-4是连续线程,连续不断创建表【循环-提取数据】。如果1选中页面上1个列表后,没有出现2【选中全部子元素】怎么办?请下拉至文末查看解决方法。

 

完成了4步,【循环以上提取】数据创建完成。可以看到流程项中自动生成了1个循环步骤。循环中的数据对应页面上所有商品列表。

 

 

 

Step3、编辑字段

 

八爪鱼自动为我们提取了列表中的所有字段,可以对这些字段进行删除、修改字段名称等操作。

鼠标移到【数据预览】

移动对应的字段名称,可修改字段名称(字段名称表头)。

点击桶图标,可免去填写的内容。也可以点击鼠标点击大量的布局布局方式进行编辑,布局布局方式有【纵向布局布局】和【横向布局布局】

 

 

步骤4、启动采集

 

1、点击【保存并并】,选择【开始采集】。后八爪鱼开始开始采集数据。(本地采集是使用自己的电脑进行采集,采集云是八爪鱼提供的云服务器采集),点击查看具体说明

 

 

2、采集完成后,选择合适的导出方式导出数据。支持导出为Excel、CSV、HTML。这里导出为Excel。

 

 

数据示例:

 

 

 

步骤二、建立【循环-提取数据】时,如果图1所示选中页面上的1个列表后,没有出现2【选中全部子元素】解决办法:

 

示例网址:https://s.weibo.com/weibo/%25E8%2583%25A1%25E6%25AD%258C?topnav=1&wvr=6&b=1

 

先看一个建立【循环-提取数据】的完整步骤

 

 

详细的步骤拆分说明:

 

1、选中页面上的1个列表

2、继续选择页面上的另1个列表(目的是帮助八爪鱼识别页面中的所有同类列表)。

3、在黄色操作提示中,选择提取数据【文本内容】。如果数据被提取到一个单元格中,则需要单独提取每个字段,进行下面的操作。

4、手动提取需要的数据。一定要在当前选中的列表中(用红色框框起来)提取出来,否则你会重复提取第1个列表中的数据。

 

 

通过上面的4步,【循环-提取数据】也能够创建完成。可以看到,界面中自动生成了1个循环步骤。循环中的项对应页面上的所有微博列表。循环中提取数据的字段,对应着着微博列表中的字段。开始采集以后,八爪鱼会随着循环中的列表采集所有的微博博文信息。

 

【循环提取数据】创建完成以后,接下来的步骤与上面一样,这里就不再赘述。

 

 

 

既要采集列表数据,又要点击列表中的链接进入详情页采集数据的解决方法:

 

1、先用本课教程中提取数据的方法,建立一个【循环提取数据】步骤提取列表数据

2、再在循环的当前项(用红色框起来)中找到需要点击进入详情的链接,然后鼠标左键单击,在弹出的操作提示框里选择【点击该链接】,流程就会生成一个【点击元素】步骤了,八爪自动鱼跳转到了详情页,然后就可以提取详情页数据。(这里需要注意不能选择点击【循环点击】)

 

 

特别说明:

一定要循环的当前项(如下图,当前项目会用红色框框)的链接做【点击元素】步骤,否则会重复点击某个链接导致采集错误。

 

 

作者:艾斯林
编辑:Jeffery