爬取破冰行动:敢拍好看。
爬取电视剧《破冰行动》数据。
与此同时我也发现了爱奇艺对电视剧进行数据分析的一个网站——爱奇艺指数。
http://index.iqiyi.com/q/?name=%E7%A0%B4%E5%86%B0%E8%A1%8C%E5%8A%A8&aid=226128201
/ 01 / 播放地域
数据就是从网站上拿的,然后通过pyecharts生成地图。
爬取代码就不放了,也比较简单,给大家展示一下数据就好。
这里感觉数据应该是各地区的播放量。
import pandas as pd
# 读取数据
df = pd.read_csv('map.csv', header=None, names=['name', 'value'], encoding='gbk')
# 地图参数
value = [int(i) for i in df['value']]
attr = [i.replace('省', '').replace('特别行政区', '').replace('自治区', '').replace('回族', '').replace('壮族', '').replace('市', '').replace('维吾尔', '') for i in df['name']]
# 绘制地图
map = Map("破冰行动播放地域分布", title_pos='center', title_top=0)
map.add("", attr, value, maptype="china", is_visualmap=True, visual_text_color="#000", is_map_symbol_show=False, visual_range=[0, 60000000], is_piecewise=True, visual_split_number=5, visual_range_color=['#C5F1D8', '#99E6BB', '#6EDC9E', '#42D1A9', '#16C664'], visual_range_text=['低', '高'])
map.render('破冰行动播放地域分布.html')
生成分布图如下。
这里调整了一下地图颜色,所以和网站的地图看起来就差不多了。
可以发现沿海省份观看的人数相对较多。
/ 02 / 明星看点
明星看点是一张河流图,是面积图的一种形式。
数据是基于智能图像识别技术,自动分析出特定明星出场的片段,反映视频的角色出场比重。
同样,数据来自于网站,爬取不做分析,仅展示数据。
这里发现12集「黄景瑜」没有出场,没有「飞飞」的日子,弹幕应该会很开心。
from pyecharts import ThemeRiver
import pandas as pd
import numpy as np
# 读取数据
df = pd.read_csv('people.csv', header=None, names=['num', 'value', 'name'], encoding='gbk')
# 将DataFrame转为List
data = np.array(df)
result = data.tolist()
# 绘制河流图
tr = ThemeRiver("破冰行动明星看点", title_pos='center', title_top='0', width=800, height=400)
tr.add(['黄景瑜', '吴刚', '王劲松', '任达华', '李墨之', '张晞临', '公磊'], result, is_label_show=False, legend_top='7%')
tr.render("破冰行动明星看点.html")
生成河流图如下。
这里pyecharts没法对集数生成时间序列,所以横坐标看着有点尴尬,实际上就是1到48集。
下面就是最后一集的数据图,「公磊」饰演的「林宗辉」在上一集领盒饭了,所以数据显示为0。
黑色圆圈处,为吴刚老师饰演的「李维民」被省纪委调查。
最后剧情表明那只是一个局而已(不愧是达康书记)~
/ 03 / 人物词云
获取网站上2万多条评论数据,对人物进行词云展示。
就是不知道第一列的数字是什么意思...
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import pandas as pd
import random
import jieba
# 读取数据
df = pd.read_csv('iqiyi.csv', header=None, names=['num', 'comment', 'key', 'emotion', 'type'], encoding='utf-8-sig')
# 设置文本随机颜色
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
h, s, l = random.choice([(188, 72, 53), (253, 63, 56), (12, 78, 69)])
return "hsl({}, {}%, {}%)".format(h, s, l)
def create_wordcloud(df, picture):
"""
生成标题以及摘要词云
"""
words = pd.read_csv('chineseStopWords.txt', encoding='gbk', sep='\t', names=['stopword'])
# 分词
text = ''
for line in df['comment']:
text += ' '.join(jieba.cut(str(line), cut_all=False))
# 停用词
stopwords = set('')
stopwords.update(words['stopword'])
backgroud_Image = plt.imread('iqiyi.jpg')
wc = WordCloud(
background_color='white',
mask=backgroud_Image,
font_path='C:\Windows\Fonts\华康俪金黑W8.TTF',
max_words=2000,
max_font_size=150,
min_font_size=15,
prefer_horizontal=1,
color_func=random_color_func,
random_state=50,
stopwords=stopwords
)
wc.generate_from_text(text)
# 看看词频高的有哪些
process_word = WordCloud.process_text(wc, text)
sort = sorted(process_word.items(), key=lambda e: e[1], reverse=True)
print(sort[:50])
plt.imshow(wc)
plt.axis('off')
wc.to_file(picture)
print('生成词云成功!')
全部评论
create_wordcloud(df, '全部.jpg')
# 包含李飞的评论
# df = df[df['comment'].str.contains('李飞|景瑜|飞|飞飞')]
# create_wordcloud(df, '李飞.jpg')
# 包含李维民的评论
# df = df[df['comment'].str.contains('李维民|书记|达康|李局|吴刚')]
# create_wordcloud(df, '李维民.jpg')
# 包含林耀东的评论
# df = df[df['comment'].str.contains('林耀东|东叔|吴劲松')]
# create_wordcloud(df, '林耀东.jpg')
# 包含赵嘉良的评论
# df = df[df['comment'].str.contains('赵嘉良|良叔|任达华')]
# create_wordcloud(df, '赵嘉良.jpg')
# df = df[df['comment'].str.contains('编剧|导演')]
# create_wordcloud(df, '编剧_导演.jpg')
先看一下全部评论的词云图。
口碑很不错,所以也推荐大家去看看哈。
先来看一下「黄景瑜」饰演的「李飞」,该剧的男主角。
有夸的,也有贬的,就我观察弹幕来看,贬大于夸。
/ 04 / 总结
相关数据已上传网盘:
链接:https://pan.baidu.com/s/1WNZzpXEXv267ZMBXF54obA 提取码:f5ut
爬取破冰行动:敢拍好看。相关推荐
- python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图
python爬虫-分析Ajax请求对json文件爬取今日头条街拍美图 前言 本次抓取目标是今日头条的街拍美图,爬取完成之后,将每组图片下载到本地并保存到不同文件夹下.下面通过抓取今日头条街拍美图讲解一 ...
- 利用Ajax爬取今日头条头像,街拍图片。关于崔庆才python爬虫爬取今日头条街拍内容遇到的问题的解决办法。
我也是初学爬虫,在看到崔庆才大佬的爬虫实战:爬取今日头条街拍美图时,发现有些内容过于陈旧运行程序时已经报错,网页的源代码早已不一样了.以下是我遇到的一些问题. 1.用开发者选项筛选Ajax文件时预览看 ...
- 爬取今日头条街拍图片
** *爬取今日头条街拍图片 * ** # coding=utf-8 import os import re import time from multiprocessing.pool import ...
- python3多线程高容错爬取头条的街拍美图
分析头条的ajax,通过正则表达式,python3多线程高容错爬取头条的街拍美图,保存到mongodb,并下载图片 头条的内容网页较之前已经改版,图床页不仅有ajax的还有html的内容网页 所以使用 ...
- python爬取今日头条街拍,Python3今日头条街拍爬虫
学习了大才哥的在线视频教程,特来这里总结分享一下. 不同于上一篇糗事百科的爬虫,这里爬取今日头条街拍需要分析ajax请求得来的数据. 首先这里是爬取的起始页 可以看到当我们往下拉滚动条的时候,新数据是 ...
- 通过爬取微博评论,发现好看的小姐姐...
通过爬取微博评论,发现好看的小姐姐... 前言 页面分析 技术栈 架构 关键点 成果 前言 刷微博刷到一个博主求好看小姐姐照片的微博,内心不由得轻蔑一笑,好看的小姐姐凭啥理你,滑到评论区,我瞬间就酸了 ...
- [Python3网络爬虫开发实战] --分析Ajax爬取今日头条街拍美图
[Python3网络爬虫开发实战] --分析Ajax爬取今日头条街拍美图 学习笔记--爬取今日头条街拍美图 准备工作 抓取分析 实战演练 学习笔记–爬取今日头条街拍美图 尝试通过分析Ajax请求来抓取 ...
- Scrapy 爬取今日头条街拍图片
scrapy 爬取今日头条图片保存至本地 之前用 requests 爬取过今日头条街拍的图片,当时只是爬取每篇文章的缩略图,今天尝试用 scrapy 来大规模爬取街拍详细图片. 分析页面 今日头条的内 ...
- 使用ajax爬取今日头条街拍图片
文章目录 分析请求 获取一组信息 解析json 获取图片列表 本地存储 整合功能 分析请求 地址:https://www.toutiao.com/search/?keyword=%E8%A1%97%E ...
最新文章
- centos7最小安装没有 ifconfig netstat 命令
- goto是python的保留字吗,基于python goto的正确用法说明
- 数据增量更新定义_技术资讯 | TiDB在准实时数据仓库中的实践
- linux系统清理内存,如何清除linux的内存缓存,缓冲和交换空间
- 【leetcode-101】 对称二叉树
- 总结下MySql优化。防止数据灾难的发生。
- [转]百度地图的一些应用方法
- 基于SSM的在线商城系统(最新)
- 查看Cglib生成的Class(字节码)文件
- 从零开始研发GPS接收机连载——3、用HackRF软件无线电平台作为GPS模拟器
- Google Java编程规范
- codeforces题解
- 插头DP 概率DP / 期望DP
- 耳机基本知识及评判指标
- 双十一峰值流量_“双十一”的九个底层逻辑:流量补刀、透支消费等
- ZYNQ开发(三)Linux Vi/Vim编译器
- Mysql内核查询成本计算
- 4.25分享(贪心算法基础)
- sdut 算符优先系列之(一)Firstvt和Lastvt集
- 推荐!一个简单而又精致的博客系统