前言

闭关几个月,今天为大家带来利用Python爬虫抓取豆瓣电影《魔女2》影评,废话不多说。

爬取了6月7月25的影片数据,Let’s start happily

开发工具

Python版本: 3.6.4

相关模块:

requests模块

json模块

re模块

os模块

pandas模块

time模块

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

思路分析

本文以爬取豆瓣电影《魔女2》影评,讲解如何爬取豆瓣电影《魔女2》评论!

前期准备

1.获取页面内容

# 爬取页面 url
douban_url = 'https://movie.douban.com/subject/34832354/comments?start=40&limit=20&status=P&sort=new_score'
# requests 发送请求
get_response = requests.get(douban_url)
# 将返回的响应码转换成文本(整个网页)
get_data = get_response.text

2.分析页面内容,获取我们想要的内容

  • 浏览器中打开我们要爬取的页面
  • 按F12进入开发者工具,查看我们想要的数据在哪里
  • 这里我们只要 评论人+评论内

3.利用re模块解析数据

def get_nextUrl(html):"""抓取下一个页面的 url"""try:# 找到下一页的 urlurl = html.find('a', 'next').attrs['href']# print(url)next_start = re.search(r'[0-9]\d{0,5}', url).group(0)print("已经到 " + str(next_start) + " 请稍等一会儿\n")next_url = "https://movie.douban.com/subject/34832354/comments?percent_type=" \"&start={}&limit=20&status=P&sort=new_score&comments_only=1&ck=Cuyu".format(next_start)# print(next_url)return next_urlexcept:print("到底了~")

运行结果

4.代码实现

def get_html(url):headers = Agent_info()try:r = requests.get(url=url, headers=headers, timeout=30)r.encoding = r.apparent_encodingstatus = r.status_code   # 爬虫的状态datas = json.loads(r.text)["html"]str_html = "<html>{}</html>".format(datas)html = BeautifulSoup(str_html, "html.parser")print("爬虫状态码: " + str(status))# print(type(html))return htmlexcept Exception as e:print("数据爬取失败!")print(e)def etl_data(html):"""提取出我们想要的数据"""comments = html.find_all('div', 'comment-item')# print(comments[0])datas = []for span in comments:# 短评发表的时间times = span.find('span', 'comment-time').attrs['title']# 用户名name = span.find('a').attrs["title"]# 用户评分星级try:level = span.find('span', 'rating').attrs['class'][0][-2:]if (level == '10'):level = "一星"elif (level == '20'):level = "二星"elif (level == '30'):level = "三星"elif (level == '40'):level = "四星"elif (level == '50'):level = "五星"except Exception as e:level = "无评价"content = span.find('span', 'short').string.strip()content = re.sub(r'\n', '', content)love_point = span.find('span', 'vote-count').string.strip()arr = [times, name, level, content, love_point]datas.append(arr)df = pd.DataFrame(datas)df.columns = ["时间", "用户", "星级", "短评", "支持数"]# print(arr)return df#代码测试2022.7.25无异常,点赞超过100,更新豆瓣电源爬虫《魔女2》

效果展示

Python爬虫实战,requests+re模块,Python实现爬取豆瓣电影《魔女2》影评相关推荐

  1. Python爬虫实战使用scrapy与selenium来爬取数据

    系列文章目录 实战使用scrapy与selenium来爬取数据 文章目录 系列文章目录 前言 一.前期准备 二.思路与运行程序 1.思路 2.运行程序 三.代码 1.代码下载 2.部分代码 总结 前言 ...

  2. Python爬虫:现学现用xpath爬取豆瓣音乐

    爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能 三种爬虫方式的对比. 这样一比较我我选择了Lxml(xpa ...

  3. 爬虫实战(一)利用scrapy爬取豆瓣华语电影

    爬虫第一个项目是爬取豆瓣华语电影,后面将对这部分数据进行分析. 本文也是发表于『运筹OR帷幄』微信公众号的<用数据带你了解电影行业-华语篇>的爬虫介绍篇. 1. 爬取思路 在观察了豆瓣每个 ...

  4. python爬取小说代码bs4和_使用python爬虫,requests(夹带BeautifulSoup的使用)爬取网络小说...

    由于本人也是初学者,算是小白一枚,这里跟大家分享一下爬取网站上的小说的过程. 第一步我们需要导入我们需要的模块,比如requests,BeautifulSoup,还有正则模块re. 代码如下:impo ...

  5. Python爬虫实战(十一) B站热门信息爬取(窗口版)| Tkinter实现GUI交互式界面

    目录 一.主页面设计 1.1 Tkinter基本介绍 1.2 设计布局 二.查询功能实现 2.1 分区字典构建 2.2 输入日期处理 2.3 书写爬虫函数 三.全部代码 更多信息查询(2021-2-1 ...

  6. Python爬虫实战(六) 天猫(淘宝)评论爬取与分析实战

    目录 一.天猫(淘宝)爬取地址对比 二.防爬技巧 三.数据分析 代码更新12.19,均可爬取(若爬取失效,请先检查cookie的有效性) 一.天猫(淘宝)爬取地址对比 天猫评论抓包json数据如下,在 ...

  7. python爬虫之Ajax动态加载数据抓取--豆瓣电影/腾讯招聘

    动态加载数据抓取-Ajax 特点 1.右键 -> 查看网页源码中没有具体数据 2.滚动鼠标滑轮或其他动作时加载 抓取 1.F12打开控制台,页面动作抓取网络数据包 2.抓取json文件URL地址 ...

  8. python提取ajax异步加载数据_python爬取豆瓣电影分类排行榜引出的异步加载(AJAX)问题...

    1.背景 之前的文章中已经介绍过猫眼TOP100的电影信息爬取案例,网页每页有10条电影信息,通过翻页发现URL变化规律构造循环爬取10页100条全部电影信息.但是豆瓣电影分类排行榜的网页情况就所不同 ...

  9. Python爬虫实战(三):定时爬取数据存入SqlServer

    目录

  10. python爬虫与数据可视化(一)—— 爬取猫眼电影(涉及爬虫反破解)

    又是新的一年,让我们一起来看一下刚刚过去的2018留下了哪些经典影片吧! 一.获取电影详情页链接 进入猫眼官网,按图中的顺序点击,得到2018年按评分排序的影片进入猫眼官网,按图中的顺序点击,得到20 ...

最新文章

  1. 痛苦是能让人成长的,所以不要害怕遇到痛苦
  2. python恶搞小程序-抖音最火的整蛊表白小程序如何做出来的?教你用python做出
  3. py爬取英文文档学习单词
  4. Phpstorm数组对齐设置
  5. C++---汉明距离
  6. Taro+react开发(22)--模态框组件
  7. maven 引入外部jar包的几种方式
  8. 移动端 | Vue.js对比微信小程序基础语法
  9. 如何在 Mac 上切换语言
  10. .net IntPtr ==interoperable pointer
  11. [禅悟人生]鹰和蜗牛都能登上金字塔尖
  12. 航班可售舱位及机票价格查询api实例
  13. 图卷积神经网络(GCN)相关应用
  14. 代码比较工具三款功能强大Beyond compare、DiffMerge、WinMerge
  15. 微信公众号开发-自定义菜单
  16. 夜深人静写算法(十二)- 凸包
  17. vue 用echarts写的进度条组件
  18. 支持安卓与iphone13和安卓手机的5W无线充电芯片IC
  19. EasyCVR平台接入大华EVS存储服务器,需要注意哪些事项?
  20. 支付宝牵头,近30亿红包等你领,攻略全在这里了!

热门文章

  1. jsp+servlet+mysql(博客项目)
  2. DevExpress VCL v17.2.7全新发布|附下载
  3. 公众号信息流,假如我来设计。。。
  4. javascript迭代器
  5. 对象、同义词和公有同义词顺序选取
  6. docker 笔记一
  7. odoo系统架构介绍
  8. switch循环的default
  9. Esbuild Bundler HMR
  10. Java中的Map【二】SortedMap接口