#### 项目需求
使用`Scrapy`框架编写爬虫程序抓取《安家》影评信息,爬取电视剧的短评(55593条)、评分、有用数量等数据,保存为`json`格式!
![](https://www.writebug.com/myres/static/uploads/2022/6/9/a7e5045d0e4dfc46113e05d079690aca.writebug)
结合`Pandas、Numpy和Matplotlib`,系统存储和处理爬取的大量数据,使用中文`Jieba`分词工具对爬取的短评信息文本处理,`wordcloud`库处理数据关键词绘制词云图展示观众情感倾向和影片评分统计等信息!分别从评论时间、评分、评论内容进行数据可视化分析!
#### 前期准备
- `Scrapy`框架的学习
入门视频:https://www.bilibili.com/video/BV1yf4y1B7S8
#### 项目步骤
##### 1、创建工程目录
- 使用`scrapy startproject AnJia`创建工程目录`AnJia`
- `cd AnJia`进入工程目录
- `scrapy genspider movie "https://movie.douban.com/"`生成爬虫项目,并命名为`movie.py`
以上三步截图效果如下:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/cd32cf8d8afe786a882ca91cfc4963f7.writebug)
得到的相关文件及用途:
`settings.py`:爬虫相关操作的设置文件
![](https://www.writebug.com/myres/static/uploads/2022/6/9/4db8582fec262b7c3e60bba789db89fd.writebug)
以及68行左右取消注释代码:
```python
ITEM_PIPELINES = {
'AnJia.pipelines.AnjiaPipeline': 300,
}
```
`pipelines.py`:用于数据保存以及处理的模块,暂时无太大改动
![](https://www.writebug.com/myres/static/uploads/2022/6/9/5aed3135c0d3eb7219a51ca7b4ee0ef0.writebug)
`movie.py`:爬虫爬取的文件,包括一些常见的页面提取方法等
![](https://www.writebug.com/myres/static/uploads/2022/6/9/b3170126849942aaf071a931d10f947b.writebug)
`items.py`:用于创建生成器以及生成响应的标签,用于爬虫标签信息的临时存取
![](https://www.writebug.com/myres/static/uploads/2022/6/9/4d4d40de6a3beb5b6dcddba80a216235.writebug)
##### 2、开始爬取首页
使用`scrapy crawl movie`开始运行爬虫程序
首先配置和数据截图:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/b50982bc5bb1cb484e8bad8bf7528e75.writebug)
终端首页截图:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/0f26ca90d33d729f43cc34e9b29ccf8d.writebug)
##### 3、爬取全部
"看过"标签发现最多到480,剩下的没了
![](https://www.writebug.com/myres/static/uploads/2022/6/9/5421bd577db2fc0d7870c12e5f4287af.writebug)
"在看"标签发现最多也到480,剩下的没了,估计是豆瓣公司的设置
![](https://www.writebug.com/myres/static/uploads/2022/6/9/43407185556638977224951e6dce96cb.writebug)
"想看"标签发现最多也到480,剩下的没了,估计是豆瓣公司的设置
![](https://www.writebug.com/myres/static/uploads/2022/6/9/f70c560beedeab8aee556bb87ff904ac.writebug)
登录豆瓣前貌似只能爬220条,登录后是500条,全部短评如下:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/903294d47113dcb6fea3a9b33a87e53a.writebug)
##### 4、使用jieba分词处理短评
在对应目录下创建`task1_短评中文分词及绘制词云图.py`用于完成短评的中文分词以及绘制词云图工作!
终端显示:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/6ef4297f6a8a2319bbb02e9c6acc60d0.writebug)
效果图显示:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/af4194edbe159623fa9b5b4ee058af07.writebug)
##### 5、绘制评论数量趋势图
终端显示效果:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/996121ae154cb747bead8e10312a9537.writebug)
效果图显示:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/3e85c50482d88077abd9fd518e3850a2.writebug)
##### 6、角色评分
除了剧情狗血,对角色设定的反感也是观众给1星的很大一部分原因。这里的算法是根据评分和内容中出现的角色来进行打分(不是很严谨,但也能说明问题)。举个例子,观众给了1星,然后这个评论内容中出现了几次“房似锦”,大概率说明这个观众对“房似锦”这个角色是比较反感的。其次,1星给1分,2星给2分,依次类推,谁的分高,说明谁更受观众喜爱。
终端显示效果:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/67646e85e5156f383cc3b667f2944ace.writebug)
实际效果图:
![](https://www.writebug.com/myres/static/uploads/2022/6/9/80da557d4cf3490c723ed89eb9560a54.writebug)
##### 7、评分好坏
豆瓣的评分是5星制,5星是力荐,4星是推荐,3星是还行,2星是较差,1星是很差。
部分爬取下来的一些数据,由于用户评价的时候没有给分,因此我们给他归类到”放弃“这部分。
![](https://www.writebug.com/myres/static/uploads/2022/6/9/9a14390b4666937d53fa8de8fe39444a.writebug)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:设计报告word+项目源码 使用 Scrapy 框架编写爬虫程序抓取《安家》影评信息,爬取电视剧的短评(55593条)、评分、有用数量等数据,保存为 json 格式! 结合 Pandas、Numpy和Matplotlib ,系统存储和处理爬取的大量数据,使用中文 Jieba 分词工具对爬取的短评信息文本处理, wordcloud 库处理数据关键词绘制词云图展示观众情感倾向和影片评分统计等信息!分别从评论时间、评分、评论内容进行数据可视化分析!
资源推荐
资源详情
资源评论
收起资源包目录
基于Python《安家》电影影评爬取与数据分析.zip (52个子文件)
README.md 5KB
LICENSE 1KB
开发文档.docx 1.17MB
.idea
.gitignore 39B
2021_03_18_《安家》影评爬取与数据分析.iml 491B
vcs.xml 183B
misc.xml 312B
modules.xml 352B
inspectionProfiles
profiles_settings.xml 174B
images
豆瓣看过页数.png 92KB
首页数据截图.png 101KB
网页信息.png 192KB
评论数量趋势图.png 88KB
scrapy框架启动.png 102KB
jieba分词及绘制词云图.png 72KB
角色评分终端显示.png 119KB
豆瓣在看页数.png 98KB
settings.py待修改地方.png 96KB
首页终端截图.png 94KB
推荐版终端.png 117KB
词云图终端.png 101KB
movie.py文件.png 82KB
豆瓣想看页数.png 79KB
全部短评信息爬取.png 87KB
items.py文件.png 66KB
pipelines.py文件.png 62KB
AnJia
stop_words_zh.txt 9KB
log.log 178KB
task1_短评中文分词及绘制词云图.py 2KB
mask.jpg 6KB
task4_评分好坏.py 1KB
《安家》短评.json 149KB
task3_角色评分.py 3KB
scrapy.cfg 253B
pictures
评论趋势折线图.jpg 275KB
推荐版柱状图.jpg 34KB
角色评分柱状图.jpg 63KB
短评词云图.jpg 32KB
task2_绘制评论数量趋势图.py 2KB
AnJia
spiders
movie.py 2KB
__pycache__
__init__.cpython-37.pyc 191B
movie.cpython-37.pyc 2KB
__init__.py 161B
items.py 653B
pipelines.py 589B
middlewares.py 4KB
settings.py 3KB
__pycache__
__init__.cpython-37.pyc 183B
items.cpython-37.pyc 475B
settings.cpython-37.pyc 532B
pipelines.cpython-37.pyc 768B
__init__.py 0B
共 52 条
- 1
shejizuopin
- 粉丝: 9939
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页