【一、项目背景】

豆瓣电影提供最新的电影介绍及评论包括上映影片的影讯查询及购票服务。可以记录想看、在看和看过的电影电视剧 、顺便打分、写影评。极大地方便了人们的生活。

今天以电视剧(美剧)为例,批量爬取对应的电影,写入csv文档 。用户可以通过评分,更好的选择自己想要的电影。

【二、项目目标】

获取对应的电影名称,评分,详情链接,下载 电影的图片,保存文档。

【三、涉及的库和网站】

1、网址如下:

https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start={}

2、涉及的库:requests****、fake_useragent、json****、csv

3、软件:PyCharm

【四、项目分析】

1、如何多网页请求?

点击下一页时,每增加一页paged自增加20,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。

2、如何获取真正请求的地址?

请求数据时,发现页面上并没有对应数据。其实豆瓣网采用javascript动态加载内容,防止采集。

1)F12右键检查,找到Network,左边菜单Name , 找到第五个数据,点击Preview。

2)点开subjects,可以看到 title 就是对应电影名称。rate就是对应评分。通过js解析subjects字典,找到需要的字段。

  1. 如何网页访问?
https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=0https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=20https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=40https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=60

当点击下一页时,每增加一页page自增加20,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。

【五、项目实施】

1、我们定义一个class类继承object,然后定义init方法继承self,再定义一个主函数main继承self。导入需要的库和请求网址。

2、随机产生UserAgent,构造请求头,防止反爬。

3、发送请求 ,获取响应,页面回调,方便下次请求。

4、json解析页面数据,获取对应的字典。

5、for遍历,获取对应的电影名、 评分、下详情页链接。

6、创建csv文件进行写入,定义对应的标题头内容,保存数据 。

7、图片地址进行请求。定义图片名称,保存文档。

8、调用方法,实现功能。

9、项目优化:

1)设置时间延时。

2)定义一个变量u, for遍历,表示爬取的是第几页。(更清晰可观)。

【六、效果展示】

1、点击绿色小三角运行输入起始页,终止页( 从0页开始 )。

2、将下载成功信息显示在控制台。

3、保存csv文档。

4、电影图片展示。

【七、总结】

1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

2、本文章就Python爬取豆瓣网,在应用中出现的难点和重点,以及如何防止反爬,做出了相对于的解决方案。

3、希望通过这个项目,能够帮助了解json解析页面的基本流程,字符串是如何拼接,format函数如何运用。

4、本文基于Python网络爬虫,利用爬虫库,实现豆瓣电影及其图片的获取。实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

此文转载文,著作权归作者所有,如有侵权联系小编删除!

原文地址:https://www.tuicool.com/articles/muiIZj2

需要源代码或者想了解更多(点击这里查看)

喜欢看电影来哦!教你如果使用Python网络爬虫爬取豆瓣高分电影!相关推荐

  1. python爬虫——爬取豆瓣TOP250电影

    相信很多朋友在看一部电影的时候喜欢先去豆瓣找一下网友对该片的评价.豆瓣作为国内最权威的电影评分网站,虽然有不少水军和精日精美分子,但是TOP250的电影还是不错的,值得一看. 爬取目标 本文将爬取豆瓣 ...

  2. python爬虫爬取豆瓣top250电影影评

    信息系统课程项目,小组准备做一个电影推荐系统,自己选了觉得很有趣的资源模块,需要获取电影的评价资源等信息.花了大约一周看Web Scraping with Python这本书,对爬虫有了大体但是初略的 ...

  3. 【Python实战】爬取豆瓣排行榜电影数据(含GUI界面版)

    项目简介 这个项目源于大三某课程设计.平常经常需要搜索一些电影,但是不知道哪些评分高且评价人数多的电影.为了方便使用,就将原来的项目重新改写了.当做是对爬虫技术.可视化技术的实践了.主要是通过从排行榜 ...

  4. python爬虫——爬取豆瓣热门电影海报生成html文件

    环境 webbrowser urllib requests v2.21.0 实现功能 过程 1.查看豆瓣热门电影模块源码: 看到其所在class为list-wp,我们想通过urllib里面的reque ...

  5. 利用定向网络爬虫爬取豆瓣电影top250【Python】

    最近在外地实习,闲来无事学了一下requests库和BeautifulSoup,掌握基本用法之后试着爬取了一下豆瓣电影top250,中间也参考了不少其他大佬的博客,所以最后写出来的代码也都大同小异吧, ...

  6. python爬虫爬取房源_手把手教你用Python网络爬虫爬取新房数据

    项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以「惠民之家」 ...

  7. python爬虫--爬取豆瓣top250电影名

    关于模拟浏览器登录的header,可以在相应网站按F12调取出编辑器,点击netwook,如下: 以便于不会被网站反爬虫拒绝. 1 import requests 2 from bs4 import ...

  8. python爬取电影评分_Python爬取豆瓣高分电影前250名

    import requests import pymysql import time import re import xlwt from lxml import etree headers = {' ...

  9. python scrapy框架爬取豆瓣top250电影篇一Windows下建立Scrapy项目,pycharm编辑

    1.打开cmd,进入到项目准备所放在的文件夹,执行命令: scrapy startproject douban 然后就可以使用pycharm打开项目了 2.建立spider文件 cmd命令行进入到项目 ...

  10. 摆脱剧荒!教你用 Python 一步步爬取豆瓣电影新榜单

    本文以豆瓣电影(非TOP250)为例,从数据爬取.清洗与分析三个维度入手,详解和还原数据爬取到分析的全链路. 作者 | 周志鹏 责编 | 郭   芮 旁友,暑假,已经过了一大半了. 这个遥远而炙热的名 ...

最新文章

  1. AI一分钟 | NLP先驱Aravind Joshi教授去世,曾获ACL终身成就奖;年度花木兰诞生,甘薇全权负责贾跃亭的一地鸡毛
  2. JVM---运行时数据区概述
  3. 【原创】Github团队协作之Pull请求
  4. 将所有单个json标注文件合并成一个总的json标注文件(COCO数据集格式)
  5. 【机器学习基础】四个小项目完全解读支持向量机
  6. python中的迭代器,生成器,闭包,装饰器,@property
  7. django的页面报错中出现xxxx.html (Skipped)
  8. qt5.10 for android 使用webview时qml 与html 中js的相互访问
  9. 【Python-随机旋转】图像随机旋转及坐标进行旋转原理
  10. 网站跳出率的相关要点介绍
  11. 南下事业篇——深圳 深圳(回顾)
  12. python代码200行左右_200行Python代码实现2048
  13. 进入实现类快捷键_实测30个自带快捷键,原来键盘也这么好用!
  14. pandas将series所有值转变为字符串类型
  15. kali破解wifi密码
  16. 用友套打的打印机型号
  17. 计算机word基础操作知识点,计算机WORD知识点整理
  18. 【杂谈与乱码】我们过度解读了鲁迅先生了么?
  19. 联想教父柳传志精彩创业语录
  20. hdu1429 胜利大逃亡(续)

热门文章

  1. 腾讯日常实习面试经历
  2. 麒麟信安加入中国首个桌面操作系统根社区openKylin, 共擎开源未来!
  3. 彩虹也能“生”出小彩虹
  4. 如何在图片上快速添加文字水印?
  5. 今天分享固态硬盘安装以及Win7系统安装流程
  6. 北斗时钟系统(子母钟系统)设计原理架构
  7. 医学病理图像:细胞间质与间质细胞的区别
  8. 【算法leetcode每日一练】1436. 旅行终点站
  9. 分布式调度架构:单体调度
  10. python根据出生年份计算年龄_python根据出生日期计算年龄的代码详解