使用Python分析《我不是药神》豆瓣电影短评

Python分析《我不是药神》豆瓣评论 读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任务(其实都是一些很简单的任务,纯练手用),后续会持续更新。 其它分析任务 点赞数 Top10 author = 忻钰坤, date = 2018-07-04 00:00:0... 阅读详情

之前的文章中,已把电影短评数据装进了Mongo中,今天把数据取出来简单分析一下,当下最火的做法是进行词频统计并生成词云,今天说的就是这个。

读取Mongo中的短评数据,进行中文分词

不知道什么原因,我实际爬下来的短评数据只有1000条(不多不少,刚刚好),我总觉得有什么不对,但我重复爬了几次后,确实只有这么多。可能是我爬虫写的有什么不对吧,文末附源码链接,有兴趣的去看看, 欢迎拍砖(轻拍)。

import pymongo
import jieba
from jieba import analyse

# https://pypi.org/project/pymongo/
# http://github.com/mongodb/mongo-python-driver
from matplotlib import pyplot
from wordcloud import WordCloud

text = None

with pymongo.MongoClient(host='192.168.0.105', port=27017) as client:
    # 获取集合
    comments = client.douban.movie_26752088_comments

    # 不知道为什么爬虫只取到了1000条评论~
    print('count:', comments.estimated_document_count())

    # pymongo.cursor.Cursor
    cursor = comments.find()

    # 遍历数据,这里只遍历短评数据(好在数据量并不太大)
    text = ''.join(map(lambda doc: doc.get('comment'), cursor))

# 对短语数据文本进行分词
# 添加自定义分词
[jieba.add_word(k) for k in []]

# 取Top50的词生成词云
# https://github.com/fxsjy/jieba#基于-tf-idf-算法的关键词抽取
tags = analyse.extract_tags(text, topK=50, withWeight=False)
new_text = ' '.join(tags)
print(new_text)

中文分词部分,默认分词效果已经非常好了,我未添加自定义字典,这里感谢一下 结巴 的作者

对分词结果取Top50生成词云

也感谢一下 word_cloud 的作者,_

# 对分词文本生成词云
# 生成词云,需要指定支持中文的字体,否则无法生成中文词云
wc = WordCloud(
    # 设置词云图片背景色,默认黑色
    # background_color='white',
    # 设置词云最大单词数
    max_words=200,
    # 设置词云中字号最大值
    # max_font_size=80,
    # 设置词云图片宽、高
    width=768,
    height=1024,
    # 设置词云文字字体(美化和解决中文乱码问题)
    font_path=r'../example/fonts/FZXingKai-S04S.TTF'
).generate(new_text)

# 绘图(标准长方形图)
pyplot.imshow(wc, interpolation='bilinear')
pyplot.figure()
pyplot.axis('off')
# 将图片输出到文件
wc.to_file(r'./images/wc.png')
生成词云效果

生成词云效果

在这里插入图片描述

看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任务(其实都是一些很简单的任务,纯练手用),后续会持续更新。

其它分析任务

点赞数Top10
import pymongo

# 取点赞最多的前10条短评
with pymongo.MongoClient(host='192.168.0.105') as client:
    comments = client.douban.movie_26752088_comments

    for doc in comments.find().sort([('vote', -1)]).limit(10):
        print('author = {}, date = {}, vote = {}, comment = {}'.format(
            doc.get('author'),
            doc.get('date'),
            doc.get('vote'),
            doc.get('comment')
        ))
  1. author = 忻钰坤, date = 2018-07-04 00:00:00, vote = 28129, comment = “你敢保证你一辈子不得病?”纯粹、直接、有力!常常感叹:电影只能是电影。但每看到这样的佳作,又感慨:电影不只是电影!由衷的希望这部电影大卖!成为话题!成为榜样!成为国产电影最该有的可能。

  2. author = 沐子荒, date = 2018-07-03 00:00:00, vote = 27237, comment = 王传君所有不被外人理解的坚持,都在这一刻得到了完美释放。他不是关谷神奇,他是王传君。 你看,即使依旧烂片如云,只要还有哪怕极少的人坚持,中国影视也终于还是从中生出了茁壮的根。 我不是药神,治不好这世界。但能改变一点,总归是会好的。

  3. author = 凌睿, date = 2018-06-30 00:00:00, vote = 18304, comment = 别说这是“中国版《达拉斯买家俱乐部》”了,这是中国的真实事件改编的中国电影,是属于我们自己的电影。不知道就去百度一下“陆勇”,他卖印度抗癌药的时候《达拉斯买家俱乐部》还没上映呢。所以别提《达拉斯买家俱乐部》了,只会显得你无知。(别私信我了,我800年前就知道《达拉斯》也是真事改编)

  4. author = 徐若风, date = 2018-06-06 00:00:00, vote = 16426, comment = 放豆瓣语境下,是部时至今日终于拍出来的国产“高分韩国电影”——拿现实题材拍商业类型片,社会性意义摆在那,群戏也处理得相当不错。对我们国家而言,这样的电影多一部是一部,走一步是一步。

  5. author = 桃桃淘电影, date = 2018-06-19 00:00:00, vote = 13337, comment = 最大的病,其实是穷病。真的被感动了,整体都很成熟,也有些许韩片的影子。几个演员表演都非常出色。可看性和内在的表达都不错。这个世界最荒诞在于,越贴近真实,真实越荒诞。人这一生,太不易了。最后,王传君,加油哦!

  6. author = 远世祖, date = 2018-06-30 00:00:00, vote = 9102, comment = 文牧野眼睛太毒了,观众的笑点、泪点、痛点被他牢牢抓住,徐峥现在不拼演技开始掏心炸肺放脱自我了,药物在中国绝对是个“不可说”,但这个电影说了它能说的,也不显山不漏水的说了它所不能说的,讲的是现实,但看过电影之后才会明白其实是超现实,2018最佳!

  7. author = 影志, date = 2018-06-19 00:00:00, vote = 7076, comment = “今后都会越来越好吧,希望这一天早点来”口罩成为符号,不是雾霾,而是人性的仪式,结尾竟然看到《辛德勒名单》一样的救赎。通俗感人,上海电影节首映哭倒一片,基于真实事件改编的社会意义加分,或许《我不是药神》之于中国,就像《摔跤吧爸爸》之于印度吧…能看到就不错。“其实只有一种病:穷病”

  8. author = Noodles, date = 2018-07-03 00:00:00, vote = 6926, comment = 人生建议:别买零食,吃不下的。

  9. author = 哪吒男, date = 2018-06-25 00:00:00, vote = 6211, comment = 最喜欢王传君的表演啊,几乎所有泪点都给他了!!而他曾经的同伴们,下月继续拿《爱情公寓》电影版面对观众。这个圈子里还是有不爱赚快钱的年轻演员,真好。

  10. author = 开开kergelen, date = 2018-07-04 00:00:00, vote = 5549, comment = 小时候路过一家药店,门口的对联写着“只愿世间无疾病,何愁架上药染尘”

15天评论量分布、走势
# 每日评论数,基于此生成日期评论走势图(用Excel生成的 ^_^)
from datetime import datetime

import pymongo
from bson import Code

# http://api.mongodb.com/python/current/
# http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.map_reduce

with pymongo.MongoClient(host='192.168.0.105') as client:
    comments = client.douban.movie_26752088_comments

    fn_map = Code("""
        function () {
            if (this.date != null) {
                emit(this.date, 1);
            }
        }
    """)

    fn_reduce = Code("""
        function (key, values) {
            var total = 0;
            for (var i = 0; i < values.length; i++) {
                total += values[i];
            }
            return total;
        }
    """)

    # pymongo.collection.Collection
    results = comments.map_reduce(fn_map, fn_reduce, out="mr_results")
    # 取最近15天数据
    for col in results.find().sort([('_id', -1)]).limit(15):
        # 格式化输出
        print(col['_id'].strftime('%Y-%m-%d'), '\t', int(col['value']))

    # 删除生成的结果集合
    client.douban.mr_results.drop()

15天评论量分布图

在这里插入图片描述

15天评论量走势图

在这里插入图片描述

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方优快云官方认证二维码或者点击链接免费领取【保证100%免费】

【Python3爬虫】豆瓣《我不是药神》短评 工具:Python3+Pycharm+Chrome使用到的模块:(1)requests:用来简单数据请求。(2)lxml:比BeautiSoup更快更强的解析库。(3)pandas:数据处理神器。(4)time:设置爬虫访问间隔。(5)random:生成随机数,配合time使用。(6)tqdm:显示程序运行进度。步骤:1、打开豆瓣电影《我不是药神》的短评网页,右键检查或者按F12,然后选择用户名和... 阅读详情

相关推荐

【深度学习】Python爬取豆瓣实现影评分析

Python爬取豆瓣

你误入了一条咸鱼的博客 3894

python爬虫豆瓣电影我不是药神的评价_Python | 爬取《我不是药神》电影热门短评...

1.目标数据:数据来源:目标描述:建立一个爬虫项目,抓取豆瓣上对电影《我不是药神》的热门短评,采集字段包括:用户昵称评论时间觉得有用的人数短评内容2.开始爬虫采集策略:本次采集数据拟使用Requests库的requests.get()函数自动爬取html页面,然后使用Beautifulsoup库对下载的“标签树”html文本进行解析和遍历。实现模拟登陆:由于豆瓣设有反爬虫机制,若未登录的话则一次只...

weixin_35275781的博客 1022

Python之爬取《你好,李焕英》电影豆瓣短评

2021年春节档热播电影《你好,李焕英》,拿下累计票房54.12亿,一路杀进中国票房榜前五,堪称票房黑马。今天就以《你好,李焕英》这部电影为例,利用Python中的Xpath爬取其豆瓣短评,爬取的字段主要有:评论者、评分、评论日期、点赞数以及评论内容。该案例难度系数不大,刚好作为入门案例,废话不多说,让我们一起去看看吧! 注:虽然在短评首页显示《你好,李焕英》共有41万多条短评,但是当浏览时,却发现只能查看前25页的短评,也就是说用户只能看到500条短评评论。发现这个问题后,查阅了一些相关资料,原来是

qq_38230663的博客 1万+

电影的词云展示

xgjxdlg的博客 187

Python 基于豆瓣电影的可视化分析系统

Python 基于豆瓣电影的可视化分析系统前言一、项目介绍二、效果展示三、 项目分析总结参考网站 前言 这是本人这学期云计算课程自己构思设计的综合实验作品,看标题就知道是通过python实现的,且和豆瓣电影密不可分。本人想法是做一个具有普适性的系统,不仅可以用于交作业,而且自己也可以从中获得便利。 详细请看接下来的介绍。 一、项目介绍 1、 系统简述 首先通过网页开发者工具分析豆瓣电影网站,然后使用抓包工具拦截数据,从中找出api接口,接下来使用Python爬虫进行数据的下载。数据下载完后,使用pandas

weixin_43594279的博客 1万+

python 爬取豆瓣电影评论,并进行词云展示

python 爬取豆瓣电影评论,并进行词云展示 本文旨在提供爬取豆瓣电影《我不是药神》评论和词云展示的代码样例 1、分析URL 2、爬取前10页评论 3、进行词云展示 1、分析URL 我不是药神 短评 第一页url https://movie.douban.com/subject/26752088/comments?start=0&amp;amp;limit=20&amp;amp;sort=n...

今春一别难相逢 1万+

使用 Python 分析《我不是药神》豆瓣电影短评

(点击上方蓝字,快速关注我们)来源:一别丶经年my.oschina.net/zhanglikun/blog/1845888小爬怡情,中爬伤身,强爬灰灰。爬虫有风险,使用请...

Python开发者 2472

完全小白篇-用python爬取豆瓣电影影评

Python爬虫技术5天速成(2020全新合集)

Mr_Ohahah的博客 2万+

Python | 使用 Python 分析《我不是药神》豆瓣电影短评

作者:一别丶经年来源:见文末小爬怡情,中爬伤身,强爬灰灰。爬虫有风险,使用请谨慎,可能是这两天爬豆瓣电影爬多了,今天早上登录的时候提示号被封了(我用自己帐号爬的,是找死呢...

Python专栏 1010

(一)selenium分析爬取豆瓣电影短评并存储到mongodb中

分析并写下爬取过程 1.打开豆瓣影评url=https://movie.douban.com/review/best/ 分析页面发现一页有十部电影,循环获取这十部电影的url 2.打开其中一部电影url发现其所有短评皆在此页面的一个子url中,获取此url 3.进入短评页面获取数据,并存储 代码步骤实现 我这里用的是定义一个类来实现首先声明__init__ class DouBanSpider(o...

qq_40966461的博客 1673

python爬取豆瓣每个账户对电影的评分和影评,绘制评分饼图和影评词云图

(1)打开豆瓣一部电影评论区,根据html结构捕获三个信息: 一,每账号的评分等级为5星、4星、3星、2星、1星; 二,每个账号的评论留言; 三,跳转到下个评论页面的http链接 (2)获取所有的信息后对信息进行处理: 一,计算出每个星级的总数和一共多少账户进行了评级 二、将所有的评论内容放在一起,处理评论中的空格和其他不规范形式 (3)用matplotlib绘制评分等级占比的饼图,用jieba进行分词处理,用wordcloud生成词云图 同个修改url=https://movie.douban.com/subject/26430636/comments?start=0&limit=20&sort=new_score&status=P&percent;_type= 之中“26430636”为电影的代表,将其换做其他的编号就可以读取和生成其他电影的matplotlib和wordcloud制作评分图和词云图

使用Python分析《我不是药神》电影豆瓣评论

小爬怡情,中爬伤身,强爬灰灰。爬虫有风险,使用请谨慎,可能是这两天爬豆瓣电影爬多了,今天早上登录的时候提示号被封了(我用自己帐号爬的,是找死呢还是在找死呢 ...),好在后面发完短信后又解封了,^_^。 之前的文章中,已把电影短评数据装进了Mongo中,今天把数据取出来简单分析一下,当下最火的做法是进行词频统计并生成词云,今天说的就是这个。 读取Mongo中的短评数据,进行中文分词 不知...

weixin_44099558的博客 2791

基于Python的豆瓣中文影评差评分析.zip

资源包含文件:课程报告word+源码及数据 NLP(Natural Language Processing)是指自然语言处理,他的目的是让计算机可以听懂人话。详细介绍参考:https://biyezuopin.blog.youkuaiyun.com/article/details/122546896

Python爬取《你好李焕英》豆瓣短评并基于SnowNLP做情感分析

爬取过程在这里: Python爬取你好李焕英豆瓣短评并利用stylecloud制作更酷炫的词云图 本文基于前文爬取生成的douban.txt,基于SnowNLP做情感分析。 依赖库: 豆瓣镜像比较快: pip install snownlp -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple 初识SnowNLP: SnowNLP是一个常用的Python文本分析库,是受到TextBlob启发而发明的。由于当前

一个超会写Bug的程序猿的博客 1万+

特斯拉 Model 3解析(八)全面拆解特斯拉自动驾驶大脑:AP控制器硬核技术解析

算力极限:双FSD = 144 TOPS,专为AI推理优化。存储架构:LPDDR4 + NAND + NOR,保证高速/可靠启动。通信架构:以太网传视频,CAN传控制,TSN保障实时性。感知输入:多路摄像头 + 高速SerDes,满足全景感知。电源设计:功率模块+被动元件海洋,稳定性优先。功能安全:双芯片冗余 + GPS + 紧急呼叫,容错率极高。🎯 在我看来,特斯拉AP控制器就是一台“车载超算”,它在电源设计、存储架构和功能安全上远超一般新势力方案。

weixin_43199439的博客 1439

Quartus的Signal Tap II的使用技巧

Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。

qq_37624854的博客 5897

【爬虫实战】用python爬豆瓣电影《热烈》的短评!

马哥原创:用python爬豆瓣电影短评,字段含:评论者昵称, 评论星级, 评论时间, 评论者IP属地, 有用数, 评论内容。

马哥的专栏 3984

[NVME] CMBLOC-Controller Memory Buffer Location

CMBLOC-Controller Memory Buffer Location

jinyuya的博客 987

Python分析《我不是药神》豆瓣评论_python 我不是药神的评论

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84138927的博客 629

uniapp 使用摄像头 live-pusher (APP)

uniapp 中开发 app 时使用live-pusher踩过的坑

随身笔记 1万+

从菜鸟到高手:我的Abaqus壳单元S4R、S3R、S8R选择心路历程

第一次打开Abaqus的单元库时,我被琳琅满目的壳单元类型晃花了眼。S4R、S3R、S8R、STRI65、S9R5...这些看似随意的字母数字组合,背后却隐藏着影响仿真精度的关键密码。作为一名从土木工程转行到汽车结构仿真的工程师,我花了三年时间才真正理解如何根据问题特性精准选择壳单元。这段学习历程充满试错与顿悟,今天就用几个关键案例,分享我的壳单元选择方法论。

weixin_42525637的博客 417

python爬取豆瓣电影评论_Python爬取豆瓣电影的短评数据并进行词云分析处理

原标题:Python爬取豆瓣电影的短评数据并进行词云分析处理 前言对于爬虫很不陌生,而爬虫最为经典的案例就是爬取豆瓣上面的电影数据了,今天小编就介绍一下如果爬取豆瓣上面电影影评,以《我不是药神》为例。基本环境配置版本:Python3.6系统:Windows本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各位到来Python学习群:9604...

weixin_39682944的博客 1202

避坑指南:CesiumLab+ENVI处理Sentinel-2影像数据的完整流程

本文提供了一份详细的避坑指南,完整介绍了如何利用CesiumLab和ENVI工具链,将Sentinel-2卫星影像处理成可供Cesium三维地球引擎加载的离线瓦片数据。内容涵盖数据获取、SNAP预处理、ENVI影像增强合成以及CesiumLab切片配置等全流程实战步骤与关键参数优化,旨在帮助工程师高效构建自主可控的高精度离线地图服务。

weixin_29248653的博客 289
上一篇: 17个 Python 高手都写不出来的几个错误
下一篇: 10个必备的Python技巧和窍门, 初学必备!!!
我爱学大模型
博客等级 码龄3年 7883粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值