工具使用

开发环境:

win10、python3.6

开发工具:

pycharm

相关模块 :

requests,stylecloud

思路分析

1、爬虫获取数据

爱奇艺的弹幕数据是以 .z 形式的压缩文件存在的,先获取 tvid 列表,再根据 tvid 获取弹幕的压缩文件,最后对其进行解压及存储,大概就是这样一个过程。

def get_data(tv_name,tv_id):url = 'https://cmts.iqiyi.com/bullet/{}/{}/{}_300_{}.z'datas = pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])for i in range(1,20):myUrl = url.format(tv_id[-4:-2],tv_id[-2:],tv_id,i)print(myUrl)res = requests.get(myUrl)if res.status_code == 200:btArr = bytearray(res.content)xml=zlib.decompress(btArr).decode('utf-8')bs = BeautifulSoup(xml,"xml")data = pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])data['uid'] = [i.text for i in bs.findAll('uid')]data['contentsId'] = [i.text for i in bs.findAll('contentId')]data['contents'] = [i.text for i in bs.findAll('content')]data['likeCount'] = [i.text for i in bs.findAll('likeCount')]else:breakdatas = pd.concat([datas,data],ignore_index = True)datas['tv_name']= str(tv_name)return datas

共爬取得到201865 条《隐秘的角落》弹幕数据。

2、准备弹幕发射器

按照用户id分组并对弹幕id计数,可以得到每位用户的累计发送弹幕数。

#累计发送弹幕数的用户
danmu_counts = df.groupby('uid')['contentsId'].count().sort_values(ascending = False).reset_index()
danmu_counts.columns = ['用户id','累计发送弹幕数']
danmu_counts.head()


第一名竟然发送了2561条弹幕,这只是一部12集的网剧啊。

df_top1 = df[df['uid'] == 1810351987].sort_values(by="likeCount",ascending = False).reset_index()
df_top1.head(10)


每一条弹幕都是这位观众的有感而发,可能他/她只是在发弹幕的同时顺便看看剧吧。

这位“弹幕发射器”朋友,在每一集的弹幕量又是如何呢?


是不是通过上图可以侧面说明个别剧集的戏剧冲突更大,更能引发观众吐槽呢?

“弹幕发射器”同志,11、12集请加大输出!

这些弹幕大家都认同、
抛开“弹幕发射器”同志,我们继续探究一下分集的弹幕。

看看每一集当中,哪些弹幕大家都很认同(赞)?

df_like = df[df.groupby(['tv_name'])['likeCount'].rank(method="first", ascending=False)==1].reset_index()[['tv_name','contents','likeCount']]
df_like.columns = ['剧集','弹幕','赞']
df_like


每一集的最佳弹幕都是当集剧情的浓缩,这些就是观众们票选出来的梗(吐槽)啊!

实在不行我请你去爬山也可

3、朝阳东升

除了剧本、音乐等,“老戏骨”和“小演员”们的演技也获得了网友的一致好评。

这部剧虽然短短12集,但故事线不仅仅在一两个人身上。每个人都有自己背后的故事,又因为种种巧合串联在一起,引发观众的持续性讨论。

我们统计一下演员们在弹幕中的出现次数,看看剧中的哪些角色大家提及最多。

a = {'张东升':'东升|秦昊|张老师', '朱朝阳':'朝阳', '严良':'严良', '普普':'普普', '朱永平':'朱永平', '周春红':'春红|大娘子', '王瑶':'王瑶', '徐静':'徐静|黄米依', '陈冠声':'王景春|老陈|陈冠声', '叶军':'叶军|皮卡皮卡', '马主任':'主任|老马', '朱晶晶':'晶晶','叶驰敏':'叶驰敏'}
for key, value in a.items():df[key] = df['contents'].str.contains(value)
staff_count = pd.Series({key: df.loc[df[key], 'contentsId'].count() for key in a.keys()}).sort_values()


比较让我疑惑的三个小孩当中的朱朝阳提及量这么低,按理说应该与其其他两位大体相当啊。

又去源数据看了一遍,提及朱朝阳(朝阳)的弹幕确实很少,因为大部分在弹幕中观众一般就叫他“学霸”、“儿子”之类的了。

4、词云

总所周知,一篇数分文章不能少了词云。

每篇的词云都尽量跟上篇文章不同,这次我采用的是stylecloud,它算是wordcloud词云包的升级版,看起来美观多了。

import stylecloud
from IPython.display import Image stylecloud.gen_stylecloud(text=' '.join(text1), collocations=False,font_path=r'‪C:\Windows\Fonts\msyh.ttc',icon_name='fas fa-play-circle',size=400,output_name='隐秘的角落-词云.png')
Image(filename='隐秘的角落-词云.png')


除了主角的名字以外,在这部以“孩子”为主题的剧中,对孩子的思想、行为的探讨占据重要部分,另外,剧中从年长的戏骨到年幼的孩子,每一个人都贡献了高光的演技,对他们演技的称赞也成为高频词汇。

而最出圈的“爬山”梗,更是被频频提及。

从《无证之罪》到《隐秘的角落》,都在证明悬疑犯罪题材在当下并非没有市场,要收获高人气高口碑,如何传播与营销终归只是手段,越来越多的团队沉下心来打磨精品剧集,观众才会愿意为剧买单,让“爬山”这样的梗一步步“出圈”。

文章到这里就结束了,感谢你的观看,下篇文章分享Python 爬取鲁迅先生《经典语录》

为了感谢读者们,我想把我最近收藏的一些编程干货python教程分享给大家,回馈每一个读者,希望能帮到你们。

Python爬取《隐秘的角落》弹幕数据,实现简单可视化(附源码)相关推荐

  1. python 抓取解析接口数据_[干货]用python抓取摩拜单车API数据并做可视化分析(源码)...

    原标题:[干货]用python抓取摩拜单车API数据并做可视化分析(源码) 在APP中能看到很多单车,但走到那里的时候,才发现车并不在那里.有些车不知道藏到了哪里:有些车或许是在高楼的后面,由于有GP ...

  2. python爬取网站教学视频_零基础Python爬取网页文章和图片详细教学(内附源码、教学视频)...

    Python爬虫,这个我相信对于很多人来说都不陌生! 今天小编给大家提供一份零基础Python爬取网页图片以及小说的代码并且详细的和大家讲解一下! 开发环境:版本Python3.6.2!(2版本会在2 ...

  3. 使用python爬取BOSS直聘岗位数据并做可视化(Boss直聘对网页做了一些修改,现在的代码已经不能用了)

    使用python爬取BOSS直聘岗位数据并做可视化 结果展示 首页 岗位信息 岗位详情 薪资表 学历需求 公司排名 岗位关键词 福利关键词 代码展示 爬虫代码 一.导入库 二.爬取数据 1.爬取数据代 ...

  4. 教你用PHP爬取王者荣耀英雄皮肤高清壁纸(附源码)

    午饭后看到一篇文章关于"用Python爬取王者荣耀官网的英雄皮肤图片",于是顺手用PHP也写了一个,在这里给大家分享一下,贴出源码: //下载王者荣耀皮肤图片 public fun ...

  5. 20行Python代码爬取2W多条音频文件素材【内附源码+详细解析】新媒体创作必备

    大家好,我是辣条. 今天的内容稍显简单,不过对于新媒体创作的朋友们还是很有帮助的,你能用上的话记得给辣条三连! 爬取目标 网站:站长素材 工具使用 开发工具:pycharm 开发环境:python3. ...

  6. Python爬取新闻标题及链接存至 Excel(含源码)

    新闻网址: https://www.tsinghua.edu.cn/news.htm 本片文章实现爬取新闻标题和链接 将新闻标题及链接存储至 Excel 表 源码 # 清华新闻import panda ...

  7. easypoi 批量导出_POI导出大量数据的简单解决方案(附源码)

    说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel ...

  8. 如何去使用Python爬虫来爬取B站的弹幕数据?

    哔哩哔哩众所周知是弹幕的天堂,视频观看人数越多,弹幕也就越多.今天小千就来教大家如何去使用Python开发一个爬虫来爬取B站的弹幕数据. 1.弹幕哪里找? 平常我们在看视频时,弹幕是出现在视频上的.实 ...

  9. python爬取bilibili弹幕_用Python爬取B站视频弹幕

    原标题:用Python爬取B站视频弹幕 via:菜J学Python 众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一 ...

  10. python爬取腾讯视频弹幕_用Python爬取腾讯视频弹幕

    原标题:用Python爬取腾讯视频弹幕 via:菜J学Python 1.网页分析 本文以爬取<脱口秀大会 第3季>最后一期视频弹幕为例,首先通过以下步骤找到存放弹幕的真实url. 通过删减 ...

最新文章

  1. C和C++安全编码笔记:动态内存管理
  2. android setContentView()
  3. vue中解决时间在ios上显示NAN的问题
  4. python培训好学吗-python难学吗?为什么上了python培训还是学不会?
  5. 集合python_python集合访问的方法
  6. LeetCode 404. Sum of Left Leaves
  7. 文献检索的正确姿势——新生培训
  8. 软件评测师32小时-第一小时 软件测试概论
  9. jQuery版本升级踩坑大全
  10. 用pl.pojo.tester测试Pojo类,提高测试覆盖率
  11. 摘抄笔记 centos内核优化
  12. nginx自动切割访问日志
  13. linkedin 分享_如何在保持电子邮件私密性的同时导入LinkedIn联系人
  14. 3种修正异常数据的方法
  15. request的setAttribute()用法及request.sendRedirect 与 request.getRequestDispatcher.forward 的区别
  16. OLED12864裸屏驱动电路
  17. 小博无线认证无法连接服务器,路由器wan口认证失败
  18. pytorch学习笔记——Sequential的使用和Flatten和flatten的区别
  19. 百度贴吧顶帖软件机器人
  20. html怎么转换m3u格式,HTML5视频标签可以播放m3u文件吗?

热门文章

  1. python调用sendcloud模板发送带附件的邮件
  2. python 会计应用软件_下列关于会计核算软件记账功能的说法中,正确的有(  )。...
  3. 小程序转发二维码携带参数不生效的问题
  4. 利用PHPExcel将数据导出到xls格式的excel文件
  5. 计算机开机最快,教你如何让你的电脑快速开机
  6. pmp中ram和raci的区别_还有10天了,如何快速通过PMP考试?
  7. RAC数据库实例之间的三种心跳机制
  8. MTTR、MTTF、MTBF详解
  9. webpack之css/js/html文件的压缩
  10. win10从旧的固态硬盘迁移系统到新的固态硬盘,开机黑屏LOGO处转圈,并启动不了,已解决,特写此贴,供急需解决该问题的有缘人参考!