采集场景
在豆瓣电影首页(https://movie.douban.com/)输入关键词搜索,得到相关电影列表页。实例网址:https://search.douban.com/movie/subject_search?search_text=%E6%88%98%E7%8B%BC ,是输入关键词【战狼】后得到的电影列表页。然后点击电影链接,进入电影详情页,采集详情页数据。
采集字段
电影、导演、编剧、主演、制片国家/地区、语言、片长、类型、又名、剧情简介、评分、星级、五星占比、四星占比、三星占比、二星占比、一星占比、剧情简介、采集时间、页面网址等。
采集结果
采集结果可导出为Excel、CSV、HTML、数据库等多种格式。导出为Excel示例:
教程说明
本篇更新时间:2024/01/03 八爪鱼版本:V8.6.7
如果因网页改版造成网址或步骤无效,无法收集到目标数据,请联系官方客服,我们将及时修正。
采集步骤
步骤一:打开网页
步骤二、创建【循环翻页】,采集多页数据
步骤三、建立【循环列表】,提取所有电影标题
步骤四、点击电影链接,进入详情页
步骤五、提取详情页中的字段
步骤六、编辑字段
步骤七、启动采集
以下为具体步骤:
步骤一、打开网页
在首页【输入框】中输入目标网址 https://search.douban.com/movie/subject_search?search_text=%E6%88%98%E7%8B%BC ,点击【开始采集】,八爪鱼自动打开网页。
特别说明:
a. 打开网页后,如果开始开始【自动识别】,请点击【不再自动识别】或【取消识别】将其关掉。因为本文不适合使用【自动识别】。
b. 【自动识别】适用于自动识别网页上的列表、滚动和翻页,识别成功后直接启动采集即可获取数据。详情点击查看 【自动识别】教程
c. 目标网址可根据需求,更换成自己需要的,结构与示例网址结构相同即可(在 https://movie.douban.com/ 中搜索关键词得到)。
步骤二、建立循环翻页
如果只是采集一页数据,可跳过此步骤。
如果需要翻页以采集多页数据:选择页面中的【后页>】按钮,在操作提示上单击【循环点击单个链接】,创建【循环翻页】。
特别说明:
a. 创建【循环翻页】后,八爪鱼会自动点击【下一页】按钮进行翻页,从第1页,第2页......直到最后1页。如果只需采集特定页的数据,可在八爪鱼中设置循环翻页的次数,详情点击查看 翻页以采集多页数据教程。
步骤三、建立【循环列表】,提取所有电影标题
通过以下连续3步,提取所有电影标题
1、选中页面上1电影标题
2、在操作提示框中,点击【选中全部子元素】
3、在操作提示框中,点击【文本内容】
还可以选中关键词输入框,在提示框中选择【文本框内的值】,将搜索的关键词文本提取下来。
步骤四、点击电影链接,进入详情页
在当前电影列表中(在网页中用红色框框起来),选中电影标题,然后在操作提示框中点击【点击该链接】,点击后自动进入该电影详情页。
特别说明:
a. 一定要在当前电影列表中选中电影标题做【点击该链接】,否则【点击元素】步骤无法与【循环】中的电影列表产生联动,会一直重复点击某一条电影链接,进入其详情页。
b. 如何找到当前电影列表?在【循环列表】中查看当前项(蓝色背景),然后点击【提取列表数据】,网页中被红色框框起来的就是当前电影列表。
步骤五、提取详情页中的字段
1、采集文本
进入详情页后,采集需要的字段。
文本类型的字段:选中页面中的文本,然后再选择【文本内容】。示例中提取了评分、星级占比等字段。
2、【导演】/【编剧】/【主演】字段
以【编剧】为例,一个电影一般有多个【编剧】,我们将多个【编剧】作为一个字段提取。
先选中其中一个编剧名,在操作提示框中,选择【文本内容】。
再点击目标字段后的 ... 按钮,选择【修改元素定位】,修改XPath为://span[contains(text(),'编剧')]/following-sibling::span 后保存。
特别说明:
a. 默认生成的XPath无法精准定位到我们想要的字段,所以需要手动修改XPath。这里需要一定的XPath知识。点击查看 XPath学习与实例教程 。
b. 【导演】和【主演】的提取方法是是一样的,提取后都需改XPath。
【主演】字段XPath://span[contains(text(),'主演')]/following-sibling::span
【导演】字段XPath://span[contains(text(),'导演')]/following-sibling::span
3、【类型】字段
该字段比较特殊,经过特殊处理后才能提取下来。如果无需【类型】字段,可跳过此步骤。
如果需要采集,请按以下步骤操作:
① 选中类型字段所在的一整块区域,在提示框选择【outer html】
② 点击目标字段后的 ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式替换】→ 输入【\s+】→【确定】
③ 点击【添加步骤】→【正则表达式匹配】→ 输入【(?<=类型:)(.+?)(?=:<\/span>)】→ 勾选【匹配所有】→【确定】
④ 点击【添加步骤】→【正则表达式匹配】→ 输入【(?<=">)(.+?)<\/span>】→ 勾选【匹配所有】-【确定】
⑥ 点击【添加步骤】→【替换】→ 替换【</span>】为【/】→【确定】
⑦ 点击【确定】→【应用】保存以上所有设置
在【当前页面数据预览】面板观察,【类型】从源码中被提取出来。
特别说明:
a. 什么是数据格式化?数据采集下来之后,有时候格式不是我们想要的,或者只想从一段数据里提取特定数据,可通过八爪鱼的【格式化数据】功能实现。详情点击查看 数据格式化教程 。
b. 正则表达式是什么?怎么写?正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,用来从文本中匹配/过滤信息。正则表达式有其特定写法,需要系统学习才能掌握,点击查看 正则表达式 教程 。
4、【制片国家/地区】【语言】【片长】【又名】字段
这些字段也比较特殊,经过特殊处理后才能提取下来。如果无需【类型】字段,可跳过此步骤。
如果需要采集,请按以下步骤操作:
以【制片国家/地区】字段提取为例:
① 选中字段所在的一整块区域,在提示框选择【文本内容】
② 点击目标字段后的 ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式替换】→ 输入【\s+】→【确定】
③ 再点击【添加步骤】→【正则表达式匹配】→ 输入【(?<=制片国家\/地区:)(.+?)(?=语言:)】→【确定】
④ 点击【确定】→【应用】保存以上所有设置
在【当前页面数据预览】面板观察,【制片国家/地区】从整块文本中提取出来。
特别说明:
a. 什么是数据格式化?数据采集下来之后,有时候格式不是我们想要的,或者只想从一段数据里提取特定数据,可通过八爪鱼的【格式化数据】功能实现。详情点击查看 数据格式化教程 。
b. 正则表达式是什么?怎么写?正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,用来从文本中匹配/过滤信息。正则表达式有其特定写法,需要系统学习才能掌握,点击查看 正则表达式 教程 。
c. 【语言】【片长】【又名】的处理方式是相同的,在本文中未详细列出。如有需要,请联系客服。
5、【星级】字段
【星级】字段比较特殊,经过特殊处理后才能提取下来。如果无需【类型】字段,可跳过此步骤。
如果需要采集,请按以下步骤操作:
① 选中【星级】所在位置,在提示框选择【采集该元素的outer html】
② 点击目标字段后的 ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式匹配】→ 输入【[0-9]+】→【确定】
③ 点击【添加步骤】→【正则表达式替换】→ 在【正则表达式】中输入【(.+?)】,【替换为】中输入【$1.】→【确定】
④ 点击【添加步骤】→【添加前缀】→ 输入【\】→【确定】
⑤ 点击【添加步骤】→【添加后缀】→ 输入【\】→【确定】
⑥ 【添加步骤】→【正则表达式匹配】→ 输入【(?<=\\)(.+?)(?=\.\\)】→【确定】
⑦ 点击【确定】→【应用】保存以上所有设置
在【当前页面数据预览】面板观察,【星级】从源码中被提取出来。
步骤六、编辑字段
在【当前页面数据预览】页面,可删除多余字段,修改字段名,移动字段顺序等。
步骤七、启动采集
1、单击【采集】并【启动本地采集】。启动后八爪鱼开始自动采集数据。
2、采集完成后,选择合适的导出方式导出数据。支持导出为Excel、CSV、HTML、数据库等。这里导出为Excel。
作者:勾勾
编辑:勾勾