使用Python获取春节档电影影评,制作可视化词云图

春节电影听巳月说都还可以,我不信,我觉得还是要看看看过的观众怎么说,于是我点开了流浪地球2 …

使用Python获取春节档电影影评,制作可视化词云图使用Python获取春节档电影影评,制作可视化词云图

看起来好像不错的样子,8.2的评分,三十多亿的票房

就是这评价也太多了,那我们今天就把网友对它的评论获取下来,做成可视化词云图看看大家讨论最多的是什么。

准备工作

使用的环境

Python 3.8 解释器
Pycharm 编辑器

 

需要手动安装的模块

parsel  数据解析模块
requests    数据请求模块

 

在cmd直接pip安装即可

 

采集数据部分

基本思路流程

一、数据来源分析

1、明确需求()

  • 采集的网站是什么?
  • 采集的数据是什么?

2、抓包分析相关数据来源

通过浏览器自带开发者工具进行抓包分析

  • 打开开发者工具: F12 或者 鼠标右键点击检查选择network
  • 刷新网页: 让本网页的数据内容重新加载一遍
  • 关键字搜索: 通过关键字<要的数据>, 搜索查询相对应的数据包

二. 代码实现步骤

基本四大步骤

  1. 发送请求:模拟浏览器对于url地址发送请求

  2. 获取数据:获取服务器返回响应数据
    开发者工具 --> response

  3. 解析数据:提取我们想要的数据内容
    评论相关数据

  4. 保存数据:把数据内容保存表格文件里面

代码实战

发送请求,模拟浏览器对于url地址发送请求

for page in range(0, 200, 20):
    # 请求链接
    url = f'https://movie.douban.com/subject/35267208/comments?start={page}&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)
    print(response)

 

获取数据, 获取服务器返回响应数据。

print(response.text)

 

解析数据,提取我们想要的数据内容。

把获取下来html字符串数据 <response.text>, 转成可解析对象

selector = parsel.Selector(response.text)  
# 第一次提取, 所有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,
    }

 

写入数据

csv_writer.writerow(dit)
print(name, rating, date, area, votes, short)
# 代码仅做参考,完整代码、详细视频讲解在这个q裙 708525271 自取即可

 

创建文件对象

f = open('data10.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '昵称',
    '推荐',
    '时间',
    '地区',
    '有用',
    '评论',
])

 

写入表头

csv_writer.writeheader()

可视化词云图

代码展示

import pandas as pd
import jieba
import wordcloud

df = pd.read_csv('data10.csv')
df.head()

info_list = df['评论'].to_list()
string = ' '.join(jieba.lcut(''.join(info_list)))
string

wc = wordcloud.WordCloud(
    width=1000,
    height=700,
    background_color='white',
    font_path='msyh.ttc',
    scale=15,
)
wc.generate(string)
wc.to_file('1.png')

evaluate_num = df['推荐'].value_counts().to_list()
evaluate_type = df['推荐'].value_counts().index.to_list()

 

import pyecharts.options as opts
from pyecharts.charts import Pie

data_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)"),
    )
)
c.render_notebook()
效果展示

使用Python获取春节档电影影评,制作可视化词云图使用Python获取春节档电影影评,制作可视化词云图

使用Python获取春节档电影影评,制作可视化词云图

好了今天的分享就到这,大家快去试试吧,下次见!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python获取春节档电影影评,制作可视化词云图 - Python技术站

(0)
上一篇 2023年3月31日
下一篇 2023年3月31日

相关文章

  • Python爬取安居客房源信息,轻松获取优质房源!

    又到了所谓的金山银四就业季,那找工作的小伙伴宿舍住不惯的话,就会去租房子住,当然也不一定有宿舍,那么自己找房子的话,肯定是不知道哪哪好。 所以今天教大家用Python来采集本地房源数据,帮助大家筛选好房。 本文涉及知识点 爬虫基本流程 requests 发送请求 parsel 解析数据 csv 保存数据 开发环境 Python 3.8 Pycharm   本…

    Python开发 2023年3月31日
    00
  • 为了快速了解原神,我用Python爬取了原神所有角色信息!

    原神是由米哈游制作发行的一款开放世界冒险游戏,号称全球玩家5600W,可以说是非常热门了,朋友都说好玩,哎,但我就是不玩,就是皮…       但是,今天我就要用python来打开“原神世界”的大门!探索一下游戏角色! 话不多说直接开整! 准备工作 这是本次需要使用到 的工具 nodejs pyexecjs requests 编辑器:pycharm环境:Py…

    Python开发 2023年3月31日
    00
  • 用Python写一个自动下载B站视频、弹幕、评论的软件

    哈喽兄弟们,今天来实现一个Python采集视频、弹幕、评论与一体的小软件。 平常咱们都是直接代码运行,不过今天我们做成软件,这样的话,咱们不仅能自己用,还能分享给小伙伴,女朋友一起使用。 内容有点多,拿好小本本,做好笔记,发车了~ 效果展示 我们先来看看效果,全部代码文末获取。 整体界面 我随便找个视频下载一下 弹幕和评论我都顺便下载了 有一说一,确实方便,…

    Python开发 2023年4月2日
    00
  • 文件太乱了?不要慌,教你用Python全自动整理

    文件太乱了?不要慌,教你用Python全自动整理到对应分类中~ 主要知识点 文件读写 基础语法 字符串处理 循环遍历 素材 先来看看我这乱七八糟的文件​ 这就看起来乱七八糟了,这要是手动整理,还好,哈哈~ 但是几百个上千个文件呢? 所以,还得是有个技能傍身才方便啊! 马上安排! 代码展示 # 我还给大家准备了海量资料:Python视频教程、100本Pytho…

    Python开发 2023年4月2日
    00
  • 下班在家没事干?教大家用Python做一个任何视频都能看的软件, 当然,只能看正经的!

    这不,国庆假期结束了,又得开始上班下班之旅了~ 有没有被疫情堵着出不来的呢?     话说回来,放这么久的假,大家还记得Python吗? 这不是怕大家又不能出去旅游,回家了或者在宿舍没事干太无聊,所以特地给大家献上如何用Python来开发一款看视频不需要VIP的软件~ 如果想发给朋友用的话,咱们在打包成exe可执行软件,这样小伙伴也能一起用了~ 效果展示 我…

    2023年4月2日
    00
  • Python一键读取文件中英文单词数量

    一、 序言 今天用Python来试试,对一个文件里面的英文单词数量进行快速统计,告别传统计数方式。 目标文件 我也不知道多少个,瞎复制的~ 二、涉及知识点 文件读写 基础语法 字符串分割   三、代码实践 首先我们创建一个Python文件 导入我们需要用到的模块 import platform # 我给大家准备了这些资料:Python视频教程、100本Pyt…

    Python开发 2023年4月2日
    00
  • Python采集疫情数据,绘制可视化动态地图,实时查询疫情数据!

    疫情尚未结束,我们需要做好自己,时刻防范,不给别人添麻烦。 今天我们来尝试用Python抓取世界疫情,实现可视化地图展示。 话不多说直接开搞! 采集数据 1、数据来源 数据来源于TX新闻,链接展示不了,就只贴图了。     2、模块 import requests import csv # Python学习交流君羊:279199867   requests …

    2023年4月2日
    00
  • 用Python做一个抢票脚本,演唱会门票轻松到手!

    最近演唱会还挺多的,都是大家喜欢的那些知名歌手,所以特地出一手教程给大家助力(主要是 表弟想追女神,所以教他自己抢票) 知识点 selenium 淘宝滑块处理 抢购逻辑实现 必备环境 python 3.8 pycharm 专业版 谷歌浏览器+谷歌驱动+selenium3.141.0 stealth.min.js 代码展示 模块 import time fro…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部