目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 选题背景及意义 1
1.2 研究现状 2
1.3 研究主要内容 2
第2章 相关理论及技术 4
2.1 robot协议对本设计的影响 4
2.2 爬虫 4
2.2.1 工作原理 4
2.2.2 工作流程 5
2.2.3 抓取策略 5
2.3 Python及Pycharm简介 6
2.4运行环境和系统结构 6
第3章 系统设计 7
3.1环境搭建 7
3.2设计思路 7
3.3 第三方类库的简介和安装 8
3.3.1 Scarpy简介及安装 8
3.3.2 Numpy简介及安装 9
3.3.3 Pandas简介及安装 10
3.3.4 JieBa简介及安装 10
3.3.5 WordCloud简介及安装 10
3.3.6 Matplotlib简介及安装 10
3.3.7 Pygal简介及安装 10
3.3.8 re简介 11
3.3.9 json简介 11
3.3.10 os简介 11
3.3.11 shutil简介 11
3.3.12 pathlib简介 11
3.3.13 random简介 12
3.3.14 math简介 12
3.3.15 PIL简介 12
3.4 Scrapy详解 12
3.4.1 架构介绍 12
3.4.2 数据流 13
第4章 影视基本数据爬取 15
4.1 影视基本数据爬取 15
4.1.1 新建Python项目 15
4.1.2 项目里安装Scrapy 15
4.1.3 中国影业top250网站分析 15
4.1.4 创建一个Scrapy项目 17
4.1.5 创建一个Spider 17
4.1.6 定义Rule 18
4.1.7 解析中国影业top250页面 20
4.1.8 保存文件 22
4.1.9 settings配置 23
4.1.10 运行蜘蛛 26
4.2 影评数据爬取 27
4.2.1 影评网站分析 27
4.2.2 创建一个Spider 30
4.2.3 重写start_requests方法 30
4.2.4 解析影评页面 31
4.2.5 保存文件 32
4.2.6 运行蜘蛛 32
4.3 数据可视化及分析 33
4.3.1 影评数据词云可视化 33
4.3.2 近年来排行榜电影各类图 36
4.3.3 电影种类数量饼图 36
4.3.4 各国电影柱形图 37
4.3.5 作品数量前十导演 38
4.3.6 人气前二十的电影对比图 39
4.3.7 绘图代码 40
4.4 小结 44
总 结 45
致 谢 46
参考文献 47
1.3 研究主要内容
1.数据爬取模块:主要是用来爬取数据,爬取中国影业上的电影名字、电影封面、电影评分、电影排名等,接下来对排行榜上每部电影的数据进行爬取。
2.数据分析模块:主要是对爬取下来的数据进行分析处理,例如对爬取下来的电影评论进行筛选,去除重复臃肿的评论,留下‘神评论’,或是按类型、评分、时间选出最佳影片。该模块会运用到以下库:
① Pandas是Python强大、灵活的数据分析和探索工具,包含Series、DataFrame等高级数据结构和工具,可使Python中处理数据非常快速和简单。
② Numpy用于数值分析的标准python库。
3.数据可视化模块:对处理好的数据进行可视化处理,例如对影评进行结巴中文分词,然后用词云展示库,用电影封面为背景展示词云,或对爬取的数据进行各种绘图。该模块会运用以下库:
① Matplotlib是Python的一个可视化模块,他能方便的只做线条图、饼图、柱状图以及其他专业图形。
② wordcloud库,可以说是python非常优秀的词云展示第三方库。词云以词语为基本单位更加直观和艺术的展示文本。
第3章 系统设计
3.1环境搭建
(1)从官网下载python3安装包,官网:
https://www.python.org/。
(2)安装python,并配置环境变量:(安装时勾选加入Path,即可自动配置好环境变量。)此电脑-属性–高级系统设置–环境变量–系统变量–path–新建–(找到自己的python位置,一般是在C盘,复制路径,粘贴进入新建,分隔号是“;”,然后一直点确认就行了。)上面是win10的操作流程,如果是win7的话,本文转载自http://www.biyezuopin.vip/onews.asp?id=13976直接在点击path,下面一条上加一个;后面加c:\python3就可以了,
(3)从官网下载pycharm安装包,官网:
http://www.jetbrains.com/,安装pycharm。
(4)pycharm关联python,并配置国内镜像源:File–setting–选择Project:xxx–下拉选择Project Interpreter–然后在Proect Interpreter:栏里选择(如果没有选择的话,点show all然后添加自己python安装路径下的python.exe),接着点击右侧加号点击Manage Repositories,最后删除原有路径,添加清华镜像源(改成国内镜像源可以在安装库时避免一些错误):
https://pypi.tuna.tsinghua.edu.cn/simple。
3.2设计思路
用Python的Scrapy框架编写爬虫程序抓取了猫眼《我和我的家乡》的影片榜单信息,爬取电影的短评、评分、评价数量等数据,并结合Python的多个库(Pandas、Numpy、Matplotlib),使用Numpy系统存储和处理大型数据,中文Jieba分词工具进行爬取数据的分词文本处理,wordcloud库处理数据关键词,最终通过词云图、网页动态图展示观众情感倾向和影片评分统计等信息。

from pathlib import *
import jieba
import pandas as pd
import numpy
import re
from PIL import Image
from wordcloud import WordCloud,ImageColorGenerator
class Run():move_path=Path('DouBanTop250/Result')for a,b in zip(move_path.glob('**/*影评.txt'),move_path.glob('**/*.jpg')):name=str(a).strip('影评.txt').split('\\')[-1]with open(str(a),'r',encoding='utf-8') as f:pattern = re.compile('[\w]+')filterdata = re.findall(pattern, f.read())cleaned_comments = ''.join(filterdata)# 使用结巴分词进行中文分词segment = jieba.lcut(cleaned_comments)words_df = pd.DataFrame({'segment': segment})# 去掉停用词stopwords = pd.read_csv("chineseStopWords.txt", index_col=False, quoting=3, sep="\t", names=['stopword'],encoding='gbk')words_df = words_df[~words_df.segment.isin(stopwords.stopword)]# 统计词频words_stat = words_df.groupby(by=['segment'])['segment'].agg(numpy.size)words_stat=words_stat.to_frame()words_stat.columns=['计数']words_stat=words_stat.reset_index().sort_values(by=["计数"], ascending=False)bg_pic = numpy.array(Image.open(str(b)))# 用词云进行显示wordcloud = WordCloud(font_path="simhei.ttf",background_color=None,max_font_size=80,mask=bg_pic,mode="RGBA"#透明背景)word_frequence = {x[0]: x[1] for x in words_stat.head(5000).values}wordcloud = wordcloud.fit_words(word_frequence)image_colors = ImageColorGenerator(bg_pic)  # 根据图片生成词云颜色wordcloud_path=str(b).replace('.jpg','.png')wordcloud.to_file(wordcloud_path)  # 把词云保存下来
if __name__ == '__main__':Run()















基于Python的中国影业数据分析相关推荐

  1. 基于Python热点新闻关键词数据分析系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 利用网络爬虫技术从某新闻网站爬取最新的新闻数据,并进行版块分类,对某篇版块下的所有新闻进行中文分词, ...

  2. 基于Python的直播平台数据分析可视化系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 随着移动互联网和5G的快速发展,视频直播行业呈现出丰富多元的内容形态,覆盖更多的场景和受众,视频成为 ...

  3. 基于python的气象数据分析统计服_基于Python的风向风速数据分析的设计与实现

    基于 Python 的风向风速数据分析的设计与实现 李文倩 ; 刘婕 [期刊名称] < <信息通信> > [年 ( 卷 ), 期] 2019(000)009 [摘要] Pyth ...

  4. python微信好友分析_基于python实现微信好友数据分析(简单)

    一.功能介绍 本文主要介绍利用网页端微信获取数据,实现个人微信好友数据的获取,并进行一些简单的数据分析,功能包括: 1.爬取好友列表,显示好友昵称.性别和地域和签名, 文件保存为 xlsx 格式 2. ...

  5. 基于Python的气象时空数据分析教程

    目录 一.时空数据的常见格式 1. 常见格式的简介 2. 常见格式的读取 导入模块 读取nc数据 创建nc数据 绘制nc数据 绘制GeoTIFF数据 ​读取Shapefile数据 绘制Shapefil ...

  6. 基于Python的电影影片数据分析

    摘 要 数据分析与可视化是当今数据分析的发展方向.大数据时代,数据资源具有海量特征.数据分析和可视化主要通过Python数据分析来实现.基于Python的数据分析可视化和技术实现是目前Python数据 ...

  7. 基于Python的绝地求生数据分析吃鸡攻略可视化(包含报告、答辩PPT以及代码打包)

    1 选题背景及需求简介 为了让 PUBG 玩家体会到通关的快乐,需要尽可能准确地推测出吃鸡概 率与多种因素的关系.基于 python 的绝地求生吃鸡攻略可视化就是由此设计 开发的,通过输入不同条件,可 ...

  8. 基于Python的超市零售数据分析

    分析框架: 一.明确需求和目的 对一家全球超市的四年(2012-2015)销售数据进行"人.货.场"分析,并给出提升销量的针对性建议. 场:整体运营情况分析,包括销售额.销量.利润 ...

  9. 基于python的微信好友数据分析_python 微信好友特征数据分析及可视化

    #微信好友特征数据分析及可视化 # 1.导包操作 from wxpy import * import re import jieba import numpy as np from scipy.mis ...

最新文章

  1. mina、netty消息边界问题(采用换行符)
  2. 安卓项目打开有时候manifests不见了_【必看】暴力0鲁项目详细操作及玩法如何跳过广告,不分享群等...
  3. 全球及中国一般手术器械行业投资态势与发展价值评估报告2022版
  4. 致敬金庸:武侠版编程语言...Java像张无忌还是令狐冲?
  5. Spring框架注入注解与拦截器浅谈
  6. Bailian2887 能被3,5,7整除的数【入门】
  7. HDU-1584蜘蛛牌
  8. 优酷路由宝刷梅林_【荒野无灯Padavan固件】优酷路由宝L1内存卡扩展SWAP缓存+v2瑞设置详解...
  9. Curvy Little Bottles——ACM icpc 2012 word final problem B
  10. 打包contrail-setup
  11. 社交网络崛起带来口碑营销的复兴
  12. CF1132D Stressful Training(优先队列+二分)
  13. edge通常不会下载xxxx确保信任xxx怎么解决
  14. 计算机表格大小怎么调整,EXCEL如何根据内容自动调整表格尺寸?
  15. 详解Nginx的核心原理
  16. ECshop4.1版本搭建
  17. python+selenium爬虫,使用selenium爬取热门微博数据
  18. 2019年记录:java小白级程序员工作一年以来的经历,遇到的坎坷以及当时的心态
  19. 博途SCL边沿触发(上升沿/下降沿)有输入无输出
  20. 激动地心颤抖的手!终于迎接到数据仓库的开发快来参观

热门文章

  1. 与我一起学习微服务架构设计模式1—逃离单体地狱
  2. 安卓TV开发(九) Android模拟事件 遥控器变身成鼠标来操作TV
  3. vs2013怎么清理解决方案_vs2010/2013项目所在文件夹越来越大如何解决?
  4. layui富文本编辑器上传图片
  5. 【LeetCode】64. 最小路径和 结题报告 (C++)
  6. MySQL:查询每个部门的员工小时平均工资(显示部门名称、部门员工小时平均 工资)
  7. 喜欢游戏学计算机,我喜欢电脑游戏小学作文
  8. 深度解析论文 基于 LSTM 的 POI 个性化推荐框架
  9. 手把手教你ARC——iOS/Mac开发ARC入…
  10. 计算机初操作员培训大纲,计算机初级培训大纲.doc