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

小爬怡情,中爬伤身,强爬灰灰。爬虫有风险,使用请谨慎,可能是这两天爬豆瓣电影爬多了,今天早上登录的时候提示号被封了(我用自己帐号爬的,是找死呢还是在找死呢 ...),好在后面发完短信后又解封了,^_^。

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

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

学习Python中有不明白推荐加入交流裙
                   号:735934841
                   群里有志同道合的小伙伴,互帮互助,
                   群里有免费的视频学习教程和PDF!

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

import pymongoimport jiebafrom jieba import analyse# 网页链接text = Nonewith 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.Cursorcursor = comments.find() # 遍历数据,这里只遍历短评数据(好在数据量并不太大)text = ‘‘.join(map(lambda doc: doc.get(‘comment‘), cursor))# 对短语数据文本进行分词# 添加自定义分词[jieba.add_word(k) for k in []]# 取Top50的词生成词云# 网页链接基于-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 datetimeimport pymongofrom bson import Code# 网页链接(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‘), ‘	‘, int(col[‘value‘])) # 删除生成的结果集合 client.douban.mr_results.drop()

15天评论量分布图

15天评论量走势图

原文地址:https://www.cnblogs.com/520lmx/p/10210758.html

时间: 2024-10-09 13:47:10

使用Python分析《我不是药神》电影豆瓣评论的相关文章

《一出好戏》讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何?

黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演阵容强大,相信许多观众也都是冲着明星们去的.目前<一出好戏>在猫眼上已经获得近60万个评价,评分为8.2分,票房已破10亿. 作者本人(汤小洋 )今天也走进了电影院,对这部电影做了亲身的观看,看完后的感觉是有些许失落的,本以为是喜剧片,结果发现笑点一般,从搞笑的角度来看,不如<西虹市首富>,影片更多的是反映人类本性的一部电影,不应当做喜剧片来看,影片中展现的人与人之间的关系倒是值得我们去深思.

分享python分析wave, pcm音频文件

最近研究的,我用的是python3.3, 用matplotlib画图, 下面代码演示分析pcm文件,如果是wave文件,把wave的文件头去掉就是pcm文件了. 代码如下 1 # -*- coding:utf-8 -*- 2 3 import array 4 import os 5 from matplotlib import pyplot 6 7 fileName = 'e:/music/qianqian.pcm' # 2 channel, 16 bit per sample 8 file =

python分析apahce网站日志的例子

有关python实现apahce网站日志分析的方法. 应用到:shell与python数据交互.数据抓取,编码转换 #coding:utf-8 #!/usr/bin/python'''程序说明:apache access.log日志分析 分析访问网站IP 来源情况 日期:2014-01-06 17:01 author:gyh9711 程序说明:应用到:shell与python数据交互.数据抓取,编码转换'''import osimport jsonimport httplibimport cod

Python 分析Twitter用户喜爱的推文

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-5 @author: guaguastd @name: analyze_favorite_tweet.py ''' if __name__ == '__main__': # import json #import json # import search from search import search_for_tweet # import get_fri

python分析nginx日志的ip,url,status

Python 脚本如下: #!/usr/bin/env python #_*_coding:utf-8 _*_ __author__ = 'lvnian' #!/usr/bin env python # coding: utf-8 import MySQLdb as mysql import sys, os db = mysql.connect(user="root",passwd="[email protected]",db="intest",

今晚九点|如何使用 Python 分析 web 访问日志?

主题:如何使用 Python 分析 Web 访问日志 内容 Python 基础 字符串.字典.文件.时间 Web 访问日志 实战 提问 主讲师:KK 多语言混搭工程师,热爱开源技术,喜欢GET新技能,5年 PHP.Python 项目开发经验,带领团队完成多个中.小型项目开发,对安全.云等多个领域富有浓厚兴趣,擅长于 WEB 安全开发.性能优化.分布式应用开发&设计等多方面,做事认真负责,乐于分享技能,现任 51Reboot.com Python 实战班讲师 任何语言都有使用场景,只有合适和不合适

利用Python分析“女神大会”,分析码农最喜欢的top10女星!

前言 懂球帝上的"女神大会"专栏,作为一个大型"钢铁直男"聚集地,"懂球帝"上对各位女神的评分,对广大"钢铁直男"群体也具有一定代表性.这么好的地方,咱们必须得用Python分析一波了呀. 基本环境配置 版本:Python3 系统:Windows 相关模块:requests.bs4.pandas 用pip安装即可. 数据来源 目前女神大会更新至了第 90 期,总共出场了 90 位女神,界面如下:我们通过 fiddler 获取该

python分析apache和nginx日志文件输出访客ip列表的代码

把做工程过程中比较好的代码片段做个备份,下面资料是关于python分析apache和nginx日志文件输出访客ip列表的代码. ips = {} fh = open("/var/log/nginx/access.log", "r").readlines() for line in fh: ip = line.split(" ")[0] if 6 < len(ip) <=15: ips[ip] = ips.get(ip, 0) + 1

Python分析盘点2019全球流行音乐:是哪些歌曲榜单占领了我们?

写在前面:圣诞刚过,弥留者节日气息的大家是否还在继续学习呐~在匆忙之际也不忘给自己找几首好听的歌曲放松一下,缠绕着音乐一起来看看关于2019年流行音乐趋势是如何用Python分析的吧! 昨天下午没事儿,随便听了下音乐,结果搜到了一份数据比较好玩,所以拿了来做个数据分享案例. 这份数据是由国外比较火的音乐软件spotify提供的,很有代表意义. 不过涉及到的指标都比较专业,我不是太懂,只能根据自己的理解去做分析,有懂音乐的朋友可以提出专业的看法. 这次的数据分析工具是Python,当然如果你Pyt