WordCloud词云实现电视剧评论可视化
以腾讯视频平台上电视剧《琅琊榜》为例,爬取评论进行可视化汇总
1、首先浏览器打开腾讯视频网站播放《琅琊榜》,按F12进入开发者工具调试,点击网页上“查看更多评论”然后查看网络日志,可以看到右侧请求的记录
在浏览器打开查看,url为https://video.coral.qq.com/varticle/1210555765/comment/v2?callback=_varticle1210555765commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6681749993978056282&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1593935252679,可以看到这个文件就是评论需要加载的数据,content参数对应的就是评论。
继续“查看更多评论”,可以发现这些数据文件的url变化只有cursor参数和最后一个_参数,而文件中last对应的值就是下一页url中的cursor参数,_参数是页数(递增就行),根据这个思路可以写出python脚本爬取评论。
2、使用wordcloud模块对评论进行可视化汇总
python3代码如下:
# -*- codeing = utf-8 -*-
# @Time : 2020/7/5 9:50
# @Author : loadding...
# @File : test_comment.py
# @Software : PyCharmimport urllib.request, urllib.error
import re
import jieba # 中文分词模块,pip install jieba安装
from matplotlib import pyplot as plt # 绘图,数据可视化
from wordcloud import WordCloud # 词云,根据文本中的词频,对内容进行可视化的汇总
from PIL import Image
import numpy as np# 腾讯视频《琅琊榜》短评可视化汇总# 模拟浏览器头部信息,腾讯服务器发送请求
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36M'
}
# 评论词库
comment = ''
lastid = "0"
for i in range(1, 100): # 页数,1页10条评论,统计100页共1000条评论pagenum = 1593926451652 + iurl = 'https://video.coral.qq.com/varticle/1210555765/comment/v2?callback=_varticle1210555765commentv2&orinum=10&oriorder=o&pageflag=1&cursor=0&scorecursor=' + lastid + '&orirepnum=2&reporder=o&reppageflag=1&source=132&_=' + str(pagenum)request = urllib.request.Request(url, headers=head)response = urllib.request.urlopen(request)data = response.read().decode('utf-8')lastid = re.compile('"last":"(.*?)"').findall(data)[0] # 下一页url中的idcontent = re.compile('"content":"(.*?)"').findall(data) # 评论内容(列表)for j in content:comment = comment + j# 对评论进行分词
cut = jieba.cut(comment)
string = ' '.join(cut)# 加载背景图
img = Image.open('tree.jpg')
img_array = np.array(img) # 将图片转换为数组(三维)
# print(img_array.shape)#(709, 1000, 3)(高,宽,位数)
wc = WordCloud(background_color='white',mask=img_array,font_path='msyh.ttc', # 微软雅黑,字体所在位置:C:\Windows\Fontscollocations=False # 不统计搭配词
)
wc.generate_from_text(string)# 绘制图片
fig = plt.figure(1)
plt.imshow(wc) # imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来
plt.axis('off') # 是否显示坐标轴# 保存图片
plt.savefig('comment_tree.jpg', dpi=500)
plt.show() # 显示生成的词云图片,注意保存与显示的顺序
3、结果
词云背景图片tree.jpg如下:
评论可视化结果为:
WordCloud词云实现电视剧评论可视化相关推荐
- Python 数据可视化:WordCloud 词云的构建
WordCloud 官方文档:https://amueller.github.io/word_cloud/index.html WordCloud GitHub 地址:https://github.c ...
- python数据挖掘学习笔记】十三.WordCloud词云配置过程及词频分析
#2018-03-28 09:59:40 March Wednesday the 13 week, the 087 day SZ SSMR 11,12因为涉及到数据库被我暂时放弃了 python数据挖 ...
- 【Python】Wordcloud 词云
本周为大家带来炫酷好玩的 wordcloud 词云构造库. 使用 wordcloud 可以做出这样的图片: 还可以做出这样的: 接下来,我们来学习如何制作属于自己的词云图. 本来想说一句,安装过程不表 ...
- Python实现的《芳华》WordCloud词云+LDA主题模型
WordCloud 词云 + LDA 主题模型 何小嫚&刘峰原图.jpg 人物词云效果.jpg 电影<芳华>在春节重映了一波,加上之前的热映,最终取得了 14 亿票房的好成绩.严歌 ...
- WordCloud词云(超详细)
WordCloud词云-学习 1. 安装 wordcloud 模块 2. wordcloud 简介 3. wordcloud 如何将文本转化为词云 4. WordCloud(<参数>)介绍 ...
- wordcloud 词云制作
文章目录 介绍 安装 导入 基本步骤 主要方法及参数 类`wordcloud.WordCloud(**kwargs)` 参数 方法 属性 函数`wordcloud.random_color_func( ...
- Win10安装wordcloud(词云)的方法
一.在安装wordcloud(词云)之前一定要记得先安装pillow和numpy windous. ①按windows+R ,输入cmd ②输入 pip install pillow ③输入 pip ...
- python中文分词器-jieba分词器详解及wordcloud词云生成
jieba分词 jieba分词支持三种分词模式: 精确模式, 试图将句子最精确地切开,适合文本分析 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义 搜索引擎模式,在精确模 ...
- 深度学习项目实战——1.基于WordCloud词云生成
深度学习项目实战--1.基于WordCloud词云生成 准备 安装依赖库 pip install wordcloud matplotlib jieba pillow WordCloud()可选的参数 ...
最新文章
- 观察者模式的经典应用(猫叫 烧开水)
- linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项
- ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取
- DropDownList的值去控制TextBox是否可编写
- Spring框架中的设计模式(三)
- Linux 查看网卡流量【转】
- 如何使用Angular的@Input()装饰器
- Android 6.0及以上版本动态申请权限,11权限
- mysql emma_ubuntu mysql emma中文乱码问题解决
- RedHat未注册 无法使用yum的解决办法
- 12月15日学习内容整理:ORM中的queryset类型,中介模型,extra函数和分组补充
- 自学hadoop(三)
- GHOST镜像导入VHD的虚拟机
- 黑客攻防与电脑安全-从新手到高手
- wordpress 安装插件
- CSS布局之各种需要掌握的小技巧~
- 解读机械图样——剖视图
- 蓝桥杯2021年第十二届省赛-双向排序
- VS2013使用教程总结(2)---显示行号
- 海信E8K和E8H区别对比哪个好