### 1. 数据说明
+ **电影信息**包括电影id、图片链接、名称、导演名称、编剧名称、主演名称、类型、制片国家、语言、上映日期、片长、季数、集数、其他名称、剧情简介、评分、评分人数,共**67245条**数据信息。虽说是电影信息,但其中也包括电视剧、综艺、动漫、纪录片、短片。
+ **电影演员信息**包括演员id、姓名、图片链接、性别、星座、出生日期、出生地、职业、更多中文名、更多外文名、家庭成员、简介,共**89592条**数据信息。这里所指的演员包括电影演员、编剧、导演。
+ **书籍信息**包括书籍id、图片链接、姓名、子标题、原作名称、作者、译者、出版社、出版年份、页数、价格、内容简介、目录简介、评分、评分人数,共**64321条**数据信息。
+ **书籍作者信息**包括作者id,姓名、图片链接、性别、出生日期、国家、更多中文名、更多外文名、简介,共**6231条**数据信息。这里作者包括书籍作者和译者。
### 2. 配制环境
+ 系统环境:ubuntu 18.04
+ python环境:python3.6
+ python依赖包:requests, bs4, redis, yaml, multiprocessing
### 3. 爬虫思路
#### 3.1电影爬虫
进入电影分类界面后,找到开发者工具,找到NetWork->XHR,我们能够看到Request URL为<https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&start=0&genres=剧情>。
![Python爬虫|Get豆瓣电影与书籍详细信息图片01](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8701.png)
打开上述Request URL,能够看到一系列电影信息,我们只需要拿到其中的id即可。为了确保不重复爬取相同的电影,每拿到一个id之后,都存到redis已爬取队列之中。如果下次再遇到相同的id,则跳过不进行爬取。
另外,再次观察上面URL,发现只要改变start和genres,便能够拿到所有电影id。
![Python爬虫|Get豆瓣电影与书籍详细信息图片02](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8702.png)
以新喜剧之王id 4840388为例,拼接<https://movie.douban.com/subject>后得到Movie URL为<https://movie.douban.com/subject/4840388>。请求Movie URL,便能得到电影信息。
![Python爬虫|Get豆瓣电影与书籍详细信息图片03](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8703.png)
通过BeautifulSoup选取相应标签,便能够拿到电影id、图片链接、名称、导演名称、编剧名称、主演名称、类型、制片国家、语言、上映日期、片长、季数、集数、其他名称、剧情简介、评分、评分人数信息。
爬取电影信息结束之后,将演员id单独进行提取出来。同样为了保证不重复爬取,每得到一个演员id,都存放到redis已爬取队列之中。
以张全蛋id /celberity/1350283为例,拼接<https://movie.douban.com>,便能得到演员URF为<https://movie.douban.com/celebrity/1350283/>。然后请求演员URL,利用BeautifulSoup选取相应标签,便能拿到演员id、姓名、图片链接、性别、星座、出生日期、出生地、职业、更多中文名、更多外文名、家庭成员、简介信息。
![Python爬虫|Get豆瓣电影与书籍详细信息图片04](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8704.png)
总结一下,获取电影信息和电影演员信息流程为
1. 获取<https://movie.douban.com/tag/#/>界面所有电影类别genres,循环电影类别genres。
2. 请求<https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&start=0&genres=剧情>网址,每次返回20个电影id。如果返回为空,更换电影类别genres。
3. 对返回的20个电影id存放到redis已爬取队列之中,返回去重后的电影id list。
4. 多线程爬取电影id list之中的电影信息。
5. 获取电影演员id,存到到redis已爬取队列之中,返回去重后的演员id list。
6. 多线程爬取演员id list之中的电影信息。
7. start加20循环2-7步骤。
#### 3.2 书籍爬虫
进入豆瓣图书标签页面,请求<https://book.douban.com/tag/?view=type&icn=index-sorttags-all>,利用BeautifulSoup得到所有图书标签。
![Python爬虫|Get豆瓣电影与书籍详细信息图片05](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8705.png)
以小说标签为例,URL为<https://book.douban.com/tag/小说?start=0&type=T>,请求URL之后,利用BeautifulSoup选取相应标签,便能够拿到当前页面所有书籍id。为了确保不重复爬取相同的书籍,每拿到一个id之后,都存到redis已爬取队列之中。如果下次再遇到相同的id,则跳过不进行爬取。
同样,观察上述URL,我们只需要通过遍历start和tag便能够拿到所有书籍id。
![Python爬虫|Get豆瓣电影与书籍详细信息图片06](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8706.png)
以解忧杂货店id 25862578为例,拼接<https://book.douban.com/subject/>后便能得到书籍URL为<https://book.douban.com/subject/25862578/>。然后请求书籍URL页面,通过BeautifulSoup选取相应标签,便能够拿到书籍id、图片链接、姓名、子标题、原作名称、作者、译者、出版社、出版年份、页数、价格、内容简介、目录简介、评分、评分人数信息。
![Python爬虫|Get豆瓣电影与书籍详细信息图片07](https://raw.githubusercontent.com/weizhixiaoyi/DouBan-Spider/master/img/Python%E7%88%AC%E8%99%AB%7CGet%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E4%B8%8E%E4%B9%A6%E7%B1%8D%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%9B%BE%E7%89%8707.png)
爬取书籍信息结束之中,将作者id单独提取出来。同样为了保证不重复爬取,每得到一个作者id,都存放到redis已爬取队列之中。
以东野圭吾为例,获取作者id 4537266,拼接<https://book.douban.com/author/>之后,便能得到作者URL为<https://book.douban.com/author/4537266/>。然后请求作者URL,利用BeautifulSoup选取相应标签,便能拿到作者id,姓名、图片链接、性别、出生日期、国家、更多中文名、更多外文名、简介信息。
总结一下,获取书籍信息和书籍作者流程为
1. 请求<https://book.douban.com/tag/?view=type&icn=index-sorttags-all>界面,利用BeautifulSoup获取图书所有标签。
2. 请求<https://book.douban.com/tag/小说?start=0&type=T>,利用BeautifulSoup获取20个书籍ID。如果为空,则更换书籍标签tag。
3. 对返回的20个书籍id存放到redis已爬取队列之中,返回去重后的书籍id list。
4. 多线程爬取书籍id list之中的书籍信息。
5. 获取书籍作者id,存放到redis已爬取队列之中,返回去重后的作者id list。
6. 多线程爬取演员id list之中的作者信息。
7. start加20循环2-7步骤。
### 4. 使用教程
```shell
├── book
│ ├── __init__.py
│ ├── book_crawl.py
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 24 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/2b17cb8b32224168bb8ed166a94dd8f6_weixin_56154577.jpg!1)
JJJ69
- 粉丝: 6266
- 资源: 5775
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 使用ASP.NET Core和Entity Framework Core来构建一个基本的进销存系统.rar
- 深度学习经典数据集+FER2013面部表情识别+附带使用方法的python代码
- Python中,要实现连接多个相机并识别多个二维码.rar
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
- Java项目:在线蛋糕商城系统(java+jsp+mysql)源码+数据库+期末大作业.zip
- ZapyaClient10_7-1.apk
- 织梦cms站长导航网站源码.zip
- 基于SSM+MySQL的网络投票调查问卷系统源码+数据库(java期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)