> ## Documentation Index
> Fetch the complete documentation index at: https://www.bazhuayu.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 【豆瓣】热门电影采集

**采集场景**

在豆瓣电影首页（[https://movie.douban.com/](https://movie.douban.com/)）输入关键词搜索，得到相关电影列表页。实例网址：[https://search.douban.com/movie/subject\_search?search\_text=%E6%88%98%E7%8B%BC](https://search.douban.com/movie/subject_search?search_text=%E6%88%98%E7%8B%BC) ，是输入关键词【战狼】后得到的电影列表页。然后点击电影链接，进入电影详情页，采集详情页数据。

 

<img src="https://mintcdn.com/bazhuayu/4NSEyKEWoyZGVZ1_/assets/academy/case-studies/douban-hot-movies/01-653b3892a3083.png?fit=max&auto=format&n=4NSEyKEWoyZGVZ1_&q=85&s=9de6edeb484da9eebf666820481ac163" alt="【豆瓣】热门电影采集" width="1013" height="553" data-path="assets/academy/case-studies/douban-hot-movies/01-653b3892a3083.png" />

 

 

**采集字段**

电影、导演、编剧、主演、制片国家/地区、语言、片长、类型、又名、剧情简介、评分、星级、五星占比、四星占比、三星占比、二星占比、一星占比、剧情简介、采集时间、页面网址等。

<img src="https://mintcdn.com/bazhuayu/4NSEyKEWoyZGVZ1_/assets/academy/case-studies/douban-hot-movies/02-653b38a426e0a.png?fit=max&auto=format&n=4NSEyKEWoyZGVZ1_&q=85&s=207cabf82aef38d247efb5d6d331e64e" alt="【豆瓣】热门电影采集" width="1106" height="580" data-path="assets/academy/case-studies/douban-hot-movies/02-653b38a426e0a.png" />

 

 

**采集结果**

采集结果可导出为Excel、CSV、HTML、数据库等多种格式。导出为Excel示例：

<img src="https://mintcdn.com/bazhuayu/4NSEyKEWoyZGVZ1_/assets/academy/case-studies/douban-hot-movies/03-653b38b6179db.png?fit=max&auto=format&n=4NSEyKEWoyZGVZ1_&q=85&s=35cebad76dc784d77661921e35ff98fc" alt="【豆瓣】热门电影采集" width="1559" height="330" data-path="assets/academy/case-studies/douban-hot-movies/03-653b38b6179db.png" />

 

**教程说明**

本篇更新时间：2024/01/03   八爪鱼版本：V8.6.7

如果因网页改版造成网址或步骤无效，无法收集到目标数据，请联系官方客服，我们将及时修正。

 

**采集步骤**

步骤一：打开网页

步骤二、创建【循环翻页】，采集多页数据

步骤三、建立【循环列表】，提取所有电影标题

步骤四、点击电影链接，进入详情页

步骤五、提取详情页中的字段

步骤六、编辑字段

步骤七、启动采集

 

**以下为具体步骤：**

 

## 步骤一、打开网页

 

在首页【输入框】中输入目标网址 [https://search.douban.com/movie/subject\_search?search\_text=%E6%88%98%E7%8B%BC](https://search.douban.com/movie/subject_search?search_text=%E6%88%98%E7%8B%BC)** **，点击【开始采集】，八爪鱼自动打开网页。

 

<video controls src="http://1251101074.vod2.myqcloud.com/8cc84bf5vodgzp1251101074/8976e35f3270835014622937048/rYvvzqGAANoA.mp4" width="100%" />

> 特别说明：
>
> * a. 打开网页后，如果开始开始【自动识别】，请点击【不再自动识别】或【取消识别】将其关掉。因为本文不适合使用【自动识别】。
>
> * b. 【自动识别】适用于自动识别网页上的列表、滚动和翻页，识别成功后直接启动采集即可获取数据。详情点击查看 [【自动识别】教程](https://www.bazhuayu.com/helpcenter/docs/eeI3gE)
>
> * c. 目标网址可根据需求，更换成自己需要的，结构与示例网址结构相同即可（在 [https://movie.douban.com/](https://movie.douban.com/) 中搜索关键词得到）。

 

## 步骤二、建立循环翻页

 

如果只是采集一页数据，可跳过此步骤。

如果需要翻页以采集多页数据：选择页面中的【后页>】按钮，在操作提示上单击【循环点击单个链接】，创建【循环翻页】。

<video controls src="http://1251101074.vod2.myqcloud.com/8cc84bf5vodgzp1251101074/cfba2aa53270835014623677871/I1Yapmkx6OkA.mp4" width="100%" />

 

 

特别说明：

* a. 创建【循环翻页】后，八爪鱼会自动点击【下一页】按钮进行翻页，从第1页，第2页......直到最后1页。如果只需采集特定页的数据，可在八爪鱼中设置循环翻页的次数，详情点击查看  [翻页以采集多页数据教程](/docs/zh/academy/basic-collection/pagination/next-page-button)。

 

## 步骤三、建立【循环列表】，提取所有电影标题

 

通过以下连续3步，提取所有电影标题

1、选中页面上1电影标题

2、在操作提示框中，点击【选中全部子元素】

3、在操作提示框中，点击【文本内容】

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/0eda2c1f3270835014624098723/LHviHafITrsA.mp4" width="100%" />

还可以选中关键词输入框，在提示框中选择【文本框内的值】，将搜索的关键词文本提取下来。

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/c881215e3270835014623341984/oaiM46SsAagA.mp4" width="100%" />

## 步骤四、点击电影链接，进入详情页

 

在当前电影列表中（在网页中用红色框框起来），选中电影标题，然后在操作提示框中点击【点击该链接】，点击后自动进入该电影详情页。

<video controls src="http://1251101074.vod2.myqcloud.com/8cc84bf5vodgzp1251101074/9408c7153270835014629240521/jiI1UhqPsmEA.mp4" width="100%" />

 

 

特别说明：

* a. 一定要在当前电影列表中选中电影标题做【点击该链接】，否则【点击元素】步骤无法与【循环】中的电影列表产生联动，会一直重复点击某一条电影链接，进入其详情页。
* b. 如何找到当前电影列表？在【循环列表】中查看当前项（蓝色背景），然后点击【提取列表数据】，网页中被红色框框起来的就是当前电影列表。

 

## 步骤五、提取详情页中的字段

 

1、采集文本

进入详情页后，采集需要的字段。

文本类型的字段：选中页面中的文本，然后再选择【文本内容】。示例中提取了评分、星级占比等字段。

 

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/7be5c1873270835014622399936/AATeTAi6DTkA.mp4" width="100%" />

 

2、【导演】/【编剧】/【主演】字段

以【编剧】为例，一个电影一般有多个【编剧】，我们将多个【编剧】作为一个字段提取。

先选中其中一个编剧名，在操作提示框中，选择【文本内容】。

再点击目标字段后的  ... 按钮，选择【修改元素定位】，修改XPath为：**//span\[contains(text(),'编剧')]/following-sibling::span **后保存。

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/7fff4e5a3270835014622519902/sxJSdvJkBdsA.mp4" width="100%" />

 

 

特别说明：

* a. 默认生成的XPath无法精准定位到我们想要的字段，所以需要手动修改XPath。这里需要一定的XPath知识。点击查看 [XPath学习与实例教程](https://www.bazhuayu.com/helpcenter/docs/V2h1Ec) 。
* b. 【导演】和【主演】的提取方法是是一样的，提取后都需改XPath。

【主演】字段XPath：**//span\[contains(text(),'主演')]/following-sibling::span**

【导演】字段XPath：**//span\[contains(text(),'导演')]/following-sibling::span**

 

3、【类型】字段

该字段比较特殊，经过特殊处理后才能提取下来。**如果无需【类型】字段，可跳过此步骤。**

如果需要采集，请按以下步骤操作：

 

① 选中类型字段所在的一整块区域，在提示框选择【outer html】

② 点击目标字段后的  ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式替换】→ 输入 `【\\s+】` →【确定】

③ 点击【添加步骤】→【正则表达式匹配】→ 输入 `(?&lt;=类型:)(.+?)(?=:&lt;\/span&gt;)` → 勾选【匹配所有】→【确定】

④ 点击【添加步骤】→【正则表达式匹配】→ 输入 `(?&lt;="&gt;)(.+?)&lt;\/span&gt;` → 勾选【匹配所有】→【确定】

⑥ 点击【添加步骤】→【替换】→ 替换【\&lt;/span>】为【/】→【确定】

⑦ 点击【确定】→【应用】保存以上所有设置

 

在【当前页面数据预览】面板观察，【类型】从源码中被提取出来。

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/1cc4df093270835014624684975/ZJxjrrCzHaYA.mp4" width="100%" />

 

 

特别说明：

* a. 什么是数据格式化？数据采集下来之后，有时候格式不是我们想要的，或者只想从一段数据里提取特定数据，可通过八爪鱼的【格式化数据】功能实现。详情点击查看 [数据格式化教程](https://www.bazhuayu.com/helpcenter/docs/ohUzyg) 。
* b. 正则表达式是什么？怎么写？正则表达式是对字符串（包括普通字符（例如，a 到 z 之间的字母）和特殊字符（称为“元字符”））操作的一种逻辑公式，用来从文本中匹配/过滤信息。正则表达式有其特定写法，需要系统学习才能掌握，点击查看 [正则表达式 教程](https://www.bazhuayu.com/helpcenter/docs/43CIS3) 。

 

4、【制片国家/地区】【语言】【片长】【又名】字段

这些字段也比较特殊，经过特殊处理后才能提取下来。**如果无需【类型】字段，可跳过此步骤。**

 

如果需要采集，请按以下步骤操作：

 

以【制片国家/地区】字段提取为例：

① 选中字段所在的一整块区域，在提示框选择【文本内容】

② 点击目标字段后的  ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式替换】→ 输入【\s+】→【确定】

③ 再点击【添加步骤】→【正则表达式匹配】→ 输入【(?\<=制片国家\\/地区:)(.+?)(?=语言:)】→【确定】

④ 点击【确定】→【应用】保存以上所有设置

 

在【当前页面数据预览】面板观察，【制片国家/地区】从整块文本中提取出来。

 

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/0e5a4a2f3270835014624026032/abLaMyazbaEA.mp4" width="100%" />

 

特别说明：

* a. 什么是数据格式化？数据采集下来之后，有时候格式不是我们想要的，或者只想从一段数据里提取特定数据，可通过八爪鱼的【格式化数据】功能实现。详情点击查看 [数据格式化教程](../tutorial8/81gshsj) 。
* b. 正则表达式是什么？怎么写？正则表达式是对字符串（包括普通字符（例如，a 到 z 之间的字母）和特殊字符（称为“元字符”））操作的一种逻辑公式，用来从文本中匹配/过滤信息。正则表达式有其特定写法，需要系统学习才能掌握，点击查看 [正则表达式 教程](https://www.bazhuayu.com/helpcenter/docs/43CIS3) 。
* c. 【语言】【片长】【又名】的处理方式是相同的，在本文中未详细列出。如有需要，请联系客服。

 

5、【星级】字段

【星级】字段比较特殊，经过特殊处理后才能提取下来。**如果无需【类型】字段，可跳过此步骤。**

 

如果需要采集，请按以下步骤操作：

① 选中【星级】所在位置，在提示框选择【采集该元素的outer html】

② 点击目标字段后的  ... 按钮 → 【格式化数据】→【添加步骤】→【正则表达式匹配】→ 输入【\[0-9]+】→【确定】

③ 点击【添加步骤】→【正则表达式替换】→ 在【正则表达式】中输入【(.+?)】，【替换为】中输入【\$1.】→【确定】

④ 点击【添加步骤】→【添加前缀】→ 输入【\】→【确定】

⑤ 点击【添加步骤】→【添加后缀】→ 输入【\】→【确定】

⑥ 【添加步骤】→【正则表达式匹配】→ 输入【(?\<=\\\\)(.+?)(?=\\.\\\\)】→【确定】

⑦ 点击【确定】→【应用】保存以上所有设置

 

在【当前页面数据预览】面板观察，【星级】从源码中被提取出来。

 

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/7be5c1873270835014622399936/AATeTAi6DTkA.mp4" width="100%" />

 

## 步骤六、编辑字段

 

在【当前页面数据预览】页面，可删除多余字段，修改字段名，移动字段顺序等。 

 

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/cad6d1fc3270835014623442872/h2wXGGNSEMoA.mp4" width="100%" />

 

## 步骤七、启动采集

 

1、单击【采集】并【启动本地采集】。启动后八爪鱼开始自动采集数据。

 

<video controls src="http://1251101074.vod2.myqcloud.com/fbbb38d8vodcq1251101074/74764d363270835014622033286/ByiGRimqxesA.mp4" width="100%" />

 

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

 

<img src="https://mintcdn.com/bazhuayu/4NSEyKEWoyZGVZ1_/assets/academy/case-studies/douban-hot-movies/04-653b548491602.png?fit=max&auto=format&n=4NSEyKEWoyZGVZ1_&q=85&s=d1af476ca816c1ac80cfc843edf2f435" alt="【豆瓣】热门电影采集" width="1559" height="330" data-path="assets/academy/case-studies/douban-hot-movies/04-653b548491602.png" />

 

作者：勾勾

编辑：勾勾
