Python数据分析《黑客帝国》-一切都不是偶然
目录
- 1、《黑客帝国》背景介绍
- 2、数据爬取
- 3、描述统计分析(评价星级)
- 4、情感分析
- 分词关键字统计词云
- 关键字
- 分词词云
1、《黑客帝国》背景介绍
每个人的身上都潜藏这完美灵性世界的碎片,他们死后体内的“灵性碎片”便会脱离肉体束缚,重返宇宙之外那个的至善至美的世界,成为永恒。每个人都是身处黑暗宇宙的“异乡人”,他们的家乡在这个宇宙之外。
总体来说反向很不错豆瓣评分8.9分,四星以上评分占了90%以上,具体到每位观众如何呢?接下来就跟着老司机一起来一探究竟。
2、数据爬取
import requests
from lxml import etree
import time
import random
headers = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Accept-Encoding': 'gzip','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Cookie': '_ga=GA1.2.557027477.1504366471; _vwo_uuid_v2=938EB395FEDF0DA9E9D90650DE9042F0|e0a43720af285a1e9923074545b60ff1; gr_user_id=d044fe6a-3a16-4f08-ad14-cc71033b6767; __utmv=30149280.16469; douban-fav-remind=1; bid=uZG6zNr6IdM; __yadk_uid=l4ZlS88dSS6QGaomSBmqi5XqNAaUQv5r; viewed="21477429_24703171_24746415_10769749_3288908_5377669_2201479_27055214_30203973_1088812"; acw_tc=2760823015682940060847273e162d65a7cec22e493c6aa10f371b90c5086c; ll="118092"; trc_cookie_storage=taboola%2520global%253Auser-id%3Da1a11787-6229-4357-a25a-b869f8653388-tuctb0db9e; ap_v=0,6.0; __utmc=30149280; __utmc=223695111; dbcl2="164698173:AM/bSYaNPzk"; ck=oih5; push_doumail_num=0; push_noty_num=0; _ck_desktop_mode=; vmode=; _gid=GA1.2.2054464412.1568389839; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1568390107%2C%22https%3A%2F%2Fm.douban.com%2Fmovie%2Fsubject%2F1291843%2Fcomments%3Fsort%3Dnew_score%26start%3D50%22%5D; _pk_ses.100001.4cf6=*; __utma=30149280.557027477.1504366471.1568384207.1568390107.31; __utmb=30149280.0.10.1568390107; __utmz=30149280.1568390107.31.27.utmcsr=m.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/movie/subject/1291843/comments; __utma=223695111.557027477.1504366471.1568384207.1568390107.30; __utmb=223695111.0.10.1568390107; __utmz=223695111.1568390107.30.27.utmcsr=m.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/movie/subject/1291843/comments; _pk_id.100001.4cf6=b6270075d3f0f249.1516866774.32.1568391082.1568386453.','Host': 'movie.douban.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}
if __name__ == '__main__':# 0、20、40、60、……490fp = open('./hacks.csv',mode='w',encoding='utf-8')fp.write('user\tcomment\tstar\tvote\tdate\n')url = 'https://movie.douban.com/subject/1291843/comments?start=%d&limit=20&sort=new_score&status=P'for i in range(0,26):if i == 25:url_comments = url%(490)else:url_comments = url%(i*20)response = requests.get(url=url_comments,headers = headers)response.encoding = 'utf-8'tree = etree.HTML(response.text)comments = tree.xpath('//div[@id="comments"]/div[@class="comment-item"]')for c in comments:user = c.xpath('.//div[@class="avatar"]/a/@title')[0]comment = c.xpath('.//span[@class="short"]/text()')[0].replace('\t', '')try:star = c.xpath('.//span[contains(@class,"allstar")]/@title')[0]except:star = 'none't = c.xpath('.//span[@class="comment-time "]/@title')[0]votes = c.xpath('.//span[@class="votes"]/text()')[0]fp.write('%s\t%s\t%s\t%s\t%s\n'%(user,comment,star,votes,t))print('第%d页数据保成功%d'%(i+1,len(comments)))time.sleep(random.uniform(1,5))fp.close()
3、描述统计分析(评价星级)
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':data = pd.read_csv('./hacks.csv',sep = '\t')# 将爬虫获取数据评价等级化m = {'none':'0 stars','18':'2 stars','还行':'3 stars','推荐':'4 stars','力荐':'5 stars'}data['star'] = data['star'].map(m)bar_data = data['star'].value_counts()print(bar_data)plt.bar(x = np.arange(0,5),height = bar_data,width=0.5)plt.xticks(np.arange(0,5),labels = [i[1] for i in m.items()][::-1])plt.show()percent = data['star'].value_counts(normalize=True)plt.pie(percent,labels=[i[1] for i in m.items()][::-1],autopct = '%0.2f%%')plt.show()
整体来看,四星五星评价巨多,说明大家对于《黑客帝国》整体评价非常好!
4、情感分析
from snownlp import SnowNLP
import pandas as pd
def sentiment(content):s = SnowNLP(str(content))return s.sentiments
if __name__ == '__main__':data = pd.read_csv('./hacks.csv',sep = '\t')data['sentiment'] = data.comment.apply(sentiment)data.sort_values('sentiment',ascending=False,inplace=True)data.to_csv('./hacks2.csv',sep='\t',index=False)# 正面评价,在jupyter中显示效果会好print(data.iloc[:10])# 负面评价print(data.iloc[-10:])
先来看看正面评价,sentiment表示情感得分
看上去正面评价基本都是高星级评分的观众给出的,有理有据,令人信服。再来看看负面评价
这里的负面评价,言语偏少,但是像《黑客帝国》这样的电影,纵使我们认为给了负面评价,发现负面评价,也是比较‘正面的’,这就是大片的魅力。
分词关键字统计词云
通过jieba进行分词,根基TF-IDF算法提取关键词,代码及部分关键词如下
import pandas as pd
import jieba
from jieba import analyse
import wordcloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
if __name__ == '__main__':data = pd.read_csv('./hacks.csv',sep = '\t')texts = ';'.join([str(c) for c in data.comment.tolist()])cut_text = ' '.join(jieba.cut(texts))keywords = jieba.analyse.extract_tags(cut_text,topK=500,withWeight=True,allowPOS=['ns', 'n', 'vn', 'v','nr','a','e'])words = pd.DataFrame(keywords,columns = ['词语','重要性'])# 关键字plt.barh(range(0,20),width = words['重要性'][:20][::-1])plt.ylabel('Importance')plt.yticks(range(0,20),labels=words['词语'][:20][::-1],fontproperties = 'KaiTi')plt.show()# 词云hack_mask = np.array(Image.open('./hack.jpg'))text_cloud = dict(keywords)cloud = wordcloud.WordCloud(width=500,font_path='./simkai.ttf',height=333,background_color='white',mask = hack_mask,max_words=500,max_font_size=150)plt.figure(figsize=(12,12))word_cloud = cloud.generate_from_frequencies(text_cloud)plt.imshow(word_cloud)plt.show()
关键字
分词词云
百度网盘代码下载百度网盘
提取码:0qag
Python数据分析《黑客帝国》-一切都不是偶然相关推荐
- 『对比Excel,轻松学习Python数据分析』新书发布
之前在公众号提过,我写了一本书,现在这本书终于面世了,这本书就是『对比Excel,轻松学习Python数据分析』,这本书是写什么的,以及这本书怎么写的,相信大家通过书名就能了解一二,但还是有必要专门写 ...
- 好书推荐:《对比Excel,轻松学习Python数据分析》
之前就一直有打算出一个结合Excel的Python数据分析的教程,刚好张俊红同学就出了书籍,后面写相关文章又多了一本好书.我首先说说我的看法,为什么要和Excel做结合了. Excel大家都熟悉,结合 ...
- Python数据分析是什么?为什么要对比Excel学习Python数据分析?
Python 虽然是一门编程语言,但是它并不难学,不仅不难学,而且很容易上手,这也是Python深受广大数据从业者喜爱的原因之一,因此大家在学习Python之前首先在心里告诉自己一句话,那就是Pyth ...
- python 数据分析学什么-数据分析培训学习多久?都学什么?
数据分析培训学习多久?以博学谷的Python数据分析与应用课程为例,学习数据分析只要22课时.那么都学什么呢?内容大概包括了Python数据分析的相关知识.感兴趣的小伙伴可以一起来看看课程介绍. 1. ...
- python 数据分析里axis=0/1 行列定义为什么每次都不同?(比如pandas, numpy, DataFrame)
在numpy中, axis=0表示按列操作, axis=1表示按行操作 [20190819 作者注] 作者看了之后, 表示对以上结论表示怀疑 参考文章1: python数据分析里axis=0/1 行列 ...
- python集合中的元素不允许重复_Python语言中同一个集合中的元素不会重复,每个元素都是唯一的。-智慧树Python数据分析与数据可视化章节答案...
Python数据分析与数据可视化:Python语言中同一个集合中的元素不会重复,每个元素都是唯一的.[?ж???] A:对 B:错 Python数据分析与数据可视化章节测试答案: 对 更多相关问题 智 ...
- EDG夺冠,用Python数据分析一波:粉丝都炸锅了
EDG夺冠,粉丝炸锅了! 北京时间11月6日,在英雄联盟S11总决赛中,中国LPL赛区战队EDG电子竞技俱乐部以3∶2战胜韩国LCK赛区战队DK,获得2021年英雄联盟全球总决赛冠军. 这个比赛也是备 ...
- python数据分析网上培训
大家好我是小星,相信有很多人和我一样,潜意识里对女生学习编程语言这件事有一种奇妙的感觉,女生学习编程到底是一种什么体验?今天我们六星教育Python课程的学员小花同学带来了她的看法,快来瞧瞧! 1.意 ...
- python数据分析要学什么_python数据分析学什么?python数据分析入门
有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面万古网校小编给大家整理了资料,为各位分享! 1.python难不难? Python可以说是目前比较主流而且易学 ...
- 为什么学习Python数据分析
为什么学习Python数据分析?这是很多人都比较关注的一个问题,Python编程语言近几年在互联网行业是非常火爆的,尤其是在人工智能这一领域,它会大大的提高我们的工作效率等等,具体来看看下面的详细介绍 ...
最新文章
- bat 取得服务列表_基于IDEA热部署更新服务器Tomcat类,服务器Tomcat热更新
- Leetcode 206. 反转链表 解题思路及C++实现
- python整数和浮点数相乘_python中整数除法和浮点数到整数转换之间的区别是什么原因?...
- 唐敏豪:我给MSU评测打9分
- IOS UIPageControl的设置点为一张图片
- jQuery操作cookie
- python vbs库_Python语言之requests库
- hp服务器增加raid卡,惠普ProLiant服务器Raid卡配置过程详解
- STM32 - 定时器的设定 -高级- 08 - One-pulse mode - 触发波的实现 - 可变长度和相位
- 在Docker和Kubernetes上运行MongoDB微服务
- iPhone应用程序的启动过程
- 2021-08-04 Mysql联表查询
- cmd imp导入dmp文件_oracle导入dmp文件的2种方法
- 《SteamVR2.2.0快速入门》(Yanlz+Unity+XR+OpenVR+OpenXR+SteamVR+Valve+Vive+Oculus+Quickstart+HMD+立钻哥哥++ok++)
- PHP WebShell源码下载(1)
- 高考30条干货分享!去哪能找到高质量2021高考学习资源?
- 解决Error:403 No valid crumb was included in the request
- 插入U盘后 计算机未响应,电脑插入U盘后没有反应怎么办?
- Gallary(中)
- 关于sql server 2019的 卸载
热门文章
- 大一计算机实验报告excle,excel实验报告总结
- 汉王考勤系统服务器IP,汉王人脸识别考勤客户端使用说明
- stm32 OV7670/摄像头模块颜色区域定位(腐蚀中心算法)
- Java后台调用第三方接口
- Java 经纬度转UTM投影
- jdbc sql拼接字符串
- 我的世界神级种子Java_《我的世界》值得收藏的10个“神级种子”,最难找的遗迹都在这!...
- 计算机考研数学一大纲2016,2016考研大纲:计算机专业
- 最新手机号码、电话号码正则表达式
- 解决Arduino开发板管理器下载esp8266开发包失败和速度慢的方法