Python如何获取大量电影影评,做可视化演示
前言
《保你平安》今天上映诶,有朋友看过吗,咋样啊
这是我最近比较想看的电影了,不过不知道这影评怎么样,上周末的点映应该是有蛮多人看的吧,可以采集采集评论看过的朋友发出来的评论,分析分析
这周刚好双休,正正好就可以去看看
okok,话不多说,咱就开始吧
开发环境
- Python 3.8
- Pycharm
代码实现
基本思路
数据来源分析:
- 明确需求:
- 采集的网站是什么?
- 采集的数据是什么?
评论相关数据
- 抓包分析相关数据来源
通过浏览器自带开发者工具进行抓包分析 <重点>
- 打开开发者工具: F12 或者 鼠标右键点击检查选择network
- 刷新网页: 让本网页的数据内容重新加载一遍
- 关键字搜索: 通过关键字<要的数据>, 搜索查询相对应的数据包
- 利用获取的数据进行可视化分析
【完整源码文末名片获取】
发送请求
# 请求链接
690643772 ### 源码领取
url = f'https://****/subject/35457272/comments?start=20&limit=20&status=P&sort=new_score'
# 伪装模拟
headers = {# User-Agent 用户代理, 表示浏览器基本身份标识'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求
response = requests.get(url=url, headers=headers)
# <Response [200]>
print(response)
解析数据
# 把获取下来html字符串数据 <response.text>, 转成可解析对象 <Selector xpath=None data='<html lang="zh-CN" class="ua-windows ...'>
selector = parsel.Selector(response.text) # ---> 你现金是美元, 没办法在中国使用 <先去银行兑换RMB>
# 第一次提取, 所有div标签
divs = selector.css('div.comment-item')
# for循环遍历, 把列表里面元素一个一个提取出来
for div in divs:name = div.css('.comment-info a::text').get() # 昵称rating = div.css('.rating::attr(title)').get() # 推荐date = div.css('.comment-time::attr(title)').get() # 时间area = div.css('.comment-location::text').get() # 地区votes = div.css('.votes::text').get() # 有用short = div.css('.short::text').get().replace('\n', '') # 评论# 数据存字典里面dit = {'昵称': name,'推荐': rating,'时间': date,'地区': area,'有用': votes,'评论': short,690643772 ### 源码领取}
写入数据
f = open('保你平安.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['昵称','推荐','时间','地区','有用','评论',
])
csv_writer.writeheader()
可视化展示
读取相关数据
df = pd.read_csv('保你平安.csv')
df.head()
推荐分布
import pyecharts.options as opts
from pyecharts.charts import Piedata_pair = [list(z) for z in zip(evaluate_type, evaluate_num)]
data_pair.sort(key=lambda x: x[1])c = (Pie(init_opts=opts.InitOpts(bg_color="#2c343c")).add(series_name="豆瓣影评",data_pair=data_pair,rosetype="radius",radius="55%",center=["50%", "50%"],label_opts=opts.LabelOpts(is_show=False, position="center"),).set_global_opts(title_opts=opts.TitleOpts(title="推荐分布",pos_left="center",pos_top="20",title_textstyle_opts=opts.TextStyleOpts(color="#fff"),),legend_opts=opts.LegendOpts(is_show=False),).set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"),)690643772 ### 源码领取
)
c.render_notebook()
地区分布
import pyecharts.options as opts
from pyecharts.charts import Piedata_pair = [list(z) for z in zip(area_type, area_num)]
data_pair.sort(key=lambda x: x[1])d = (Pie(init_opts=opts.InitOpts(bg_color="#2c343c")).add(series_name="豆瓣影评",data_pair=data_pair,rosetype="radius",radius="55%",center=["50%", "50%"],label_opts=opts.LabelOpts(is_show=False, position="center"),)690643772 ### 源码领取.set_global_opts(title_opts=opts.TitleOpts(title="地区分布",pos_left="center",pos_top="20",title_textstyle_opts=opts.TextStyleOpts(color="#fff"),),legend_opts=opts.LegendOpts(is_show=False),).set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"),)
)
d.render_notebook()
这样分析下来,好像还不错呀,应该是值得一看的
这周末可以冲冲咯
最后
今天的文章分享到这里就结束了,要准备计划明天出去看完电影该吃些啥了哈哈
祝你们有个愉快的周末~
有什么关于python的不懂的问题可以点击文末名片进行学习交流哦
Python如何获取大量电影影评,做可视化演示相关推荐
- 完全小白篇-用python爬取豆瓣电影影评
完全小白篇-用python爬取豆瓣影评 打开豆瓣电影 随机电影的所有影评网页 跳转逻辑 分析影评内容获取方法 逐一正则提取影评 针对标签格式过于多样的处理 针对提出请求的频率的限制 存储方式(本次sq ...
- python爬虫tableau数据分析_完美!Python爬招聘数据,Tableau做可视化分析
原标题:完美!Python爬招聘数据,Tableau做可视化分析 交流群预热好久的可视化交互大屏来啦 1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于&q ...
- Python采集剧本杀店家数据信息,做可视化演示
前言 哈喽啊,友友们 有喜欢玩桌游或者剧本杀的吗 其实我自己对这个不太感兴趣哈哈,但是也玩过 正好又有朋友约着出去,就是不知道哪家店更值得去 所以趁着还有几天就用python来采集一些 店家的数据信息 ...
- Python网络爬虫爬取招聘数据(利用python简单零基础)可做可视化
爬取Boss直聘相关的招聘数据 一.相关需求分析 1.目的 二.直聘网页结构分析 1.网页相关值的查找 2.网页的下一页规律查找 三.Python相关的第三库介绍 1.Urllib的介绍 (1)url ...
- Python爬猫眼电影影评及可视化 Robin NJU
1.Fiddler4抓包分析影评数据接口 1.1 基本设置 ①电脑端:下载Fiddler4 设置:tools-options-connections-allow remote computers to ...
- Python实战——全球疫情数据采集, 并做可视化
前言 大家早好.午好.晚好吖~ 知识点: 爬虫基本流程 requests 发送请求 re 正则表达式 json 结构化数据解析 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 ...
- Python爬虫获取豆瓣电影TOP250
最近在学python,研究了下,写了两个爬虫成功爬取了一些东西.有一个很黄很暴力,就不放出来了,还有一个比较绿色,简单,适合初学者学习,思路也比较清晰,也方便我以后再捡起来,注释写的很清楚,特把源码放 ...
- Python采集二手房源数据信息并做可视化展示
目录标题 前言 环境使用: 模块使用: python技术实现: <基本流程步骤> 代码展示 尾语 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 环境使用: Python 3.8 jupyt ...
- 【Python爬虫实战案例】采集城市桌游商家数据信息,做可视化演示
前言 这里容我罗嗦几句
最新文章
- 论新时代软件测试人员的工作之道(四)自动化测试之单元及集成测试
- 谷爱凌的父亲不是谷歌5号员工,但母亲一家都是高学历的运动健将
- 如何在Linux下安装PyCharm
- linux命令 ps aux | grep xxx详解
- PHP 入门 - 9.安全
- 函数式编程 lambda表达式
- TreeView,TreeNode,TreeNodeCollection 的使用
- Maven精选系列--三种仓库详解
- mongodb实验报告_Dropwizard,MongoDB和Gradle实验
- Linux课程笔记 Crond介绍
- 在线重定义的补充测试
- 带你重新认识ZooKeeper!java数组长度可变吗
- 深度学习图像标注工具
- 用python函数画德国国旗代码_给我一面国旗 python帮你实现
- 基于ArcGIS的城市住房选址分析(以郑州市为例)
- 计算机二级考试vb内容,计算机二级VB考试内容大纲
- 基本概念:节点、集群、分片及副本
- 1000个已成功入职的软件测试工程师简历经验总结:软件测试工程师简历项目经验怎么写?(含真实简历模板)
- iphone系统架构以及各层提供的主要服务
- php编写当前日期距高考天数,距离2021年高考天数 2021高考倒计时
热门文章
- 在线JSON转PlainText工具
- php 如何回车,php怎么替换回车换行
- CCF考试笔记(c++)
- html %3ca%3e可以传参吗,跨站脚本执行漏洞详解-恶魔上传
- 测试开发工作者日志:2020.9.5
- 宿迁中学2021高考成绩查询,江苏省宿迁中学2019年高考喜报,学生高考成绩怎么样...
- 比谈恋爱还简单的动态路由协议 不会? 我教你啊~
- office2016——学习内容整理
- 今天申请了一个gmail邮箱,用于备份资料。
- python web开发入门