用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

Aidan075 等级 344 0 0

尽管抄袭傍身,也没能阻挡《爱情公寓5》进击的脚步。

最近爱情公寓电视剧微博发布了长达8分钟的揭幕视频,官宣新季将在2020正式开播。

几位主演纷纷转发宣传,将#爱情公寓5揭幕#的话题送上了热搜。

观众在经历过一次《爱情公墓》的诈骗后,能否接受《爱情公寓5》(下文简称爱5)?

让我们来分析一下。

获取数据

首先,我选取了在B站上最热的视频,目前已经179万播放量,2万弹幕。

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

为什么选择B站呢?

著名UP主“残狼之卑”,曾经在b站上传了几十个对比视频,做成《爱情公寓的抄袭史》,每期视频播放量都几十万,所以按理来说B站的用户反对爱情公寓的人应该很多。

如果B站的用户都可以接受,那么《爱5》可能真的会取得不错的播放量。

B站的弹幕数据是有接口的,比如说:

https://comment.bilibili.com/\*\*\*\*\*\*\*\*.xml

它以一个固定的url地址+视频的cid+.xml组成。只要找到你想要的视频cid,替换这个url就可以爬取所有弹幕了。

以刚才的视频为例

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

它的cid就是123519261,构成url就是:

https://comment.bilibili.com/123519261.xml

下载并打开这个XML格式的弹幕文件。

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

观察上图,所有的弹幕都放在了标签下

那么我们写段爬虫:

from bs4 import BeautifulSoup  
import pandas as pd  
import requests  

url = 'http://comment.bilibili.com/123519261.xml'  
html = requests.get(url)  
html.encoding='utf8'  

soup = BeautifulSoup(html.text, 'lxml')  
results = soup.find_all('d')  

comments = [comment.text for comment in results]  
comments_dict = {'comments': comments}  

df = pd.DataFrame(comments_dict)  
df.to_csv('bili_ai5.csv', encoding='utf-8-sig')

最后成功获取1000条弹幕数据。

(b站给出的字幕限制是1000条)

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

数据分析

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

在弹幕中看到很多人提及“大二了”,“从小学5年级开始看”,我们来看一下学生阶段在弹幕中的提及数。

#学生阶段在弹幕中的提及数  
a = {'小学':'小学|一年级|二年级|三年级|四年级|五年级|六年级',   
     '初中':'初中|初一|初二|初三',   
     '高一':'高一',   
     '高二':'高二',  
     '高三':'高三',   
     '大一':'大一',   
     '大二':'大二',   
     '大三':'大三',   
     '大四':'大四',}  
for key, value in a.items():  
    data[key] = data['comments'].str.contains(value)  
staff_count = pd.Series({key: data.loc[data[key], 'comments'].count() for key in a.keys()}).sort_values()  
print(staff_count)  

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

1000条弹幕就包含了这么多关于年龄的怀念。

数据可视化

我们将爬取得到的弹幕做个词云,更加直观地展示。

import jieba  
from collections import Counter  
from pyecharts import WordCloud  

stop_words = [x.strip() for x in open ('stopwords.txt',encoding="utf-8") ]  
text = ''.join(data['comments'])  
words = list(jieba.cut(text))  
ex_sw_words = []  
for word in words:  
    if len(word)>1 and (word not in stop_words):  
        ex_sw_words.append(word)  
c = Counter()  
c = Counter(ex_sw_words)  
wc_data = pd.DataFrame({'word':list(c.keys()), 'counts':list(c.values())}).sort_values(by='counts', ascending=False).head(100)  
wordcloud = WordCloud(width=1300, height=620)  
wordcloud.add("", wc_data['word'], wc_data['counts'], word_size_range=[15, 80])  

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

词云图上,可以看到《爱情公寓》依旧是一代人快乐的回忆,即便是电影导致IP口碑全面崩盘,但粉丝好感似乎用之不尽。即便有人提到抄袭借鉴之类的,也会被说“黑粉gun开”。

通过这次B站弹幕的爬取分析,我现在可以肯定的是《爱5》依然会有很多人看。只要片方挥舞着“十年怀旧,挥别青春”的大旗便会无往不利,这也是他们的底气所在。

其实我理解大家只是想要一个结局。

但《爱5》过后。

没有演技的演员重新找路。

靠着怀旧的片方盆丰钵满。

这是我们想要的结局吗?

朱小五,某互联网公司数据分析师,热衷于爬虫,数据分析,可视化,个人公众号《凹凸玩数据》

本文相关代码已上传github:

https://github.com/zpw1995/aotodata/tree/master/bilibili\_danmu



用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?


本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/2XcJHhsIMLPyKvlqIYxeVg,可扫描二维码进行关注: 用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗? 如有侵权,请联系删除。

收藏
评论区

相关推荐

小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
作者:朱小五 源自:凹凸数据 看到标题, 啪的一下你就进来了吧! 如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁? 印度:没错正是在下 那必须
用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?
尽管抄袭傍身,也没能阻挡《爱情公寓5》进击的脚步。 最近爱情公寓电视剧微博发布了长达8分钟的揭幕视频,官宣新季将在2020正式开播。 几位主演纷纷转发宣传,将爱情公寓5揭幕的话题送上了热搜。 观众在经历过一次《爱情公墓》的诈骗后,能否接受《爱情公寓5》(下文简称爱5)? 让我们来分析一下。 获取数据 首
被“词云”包围的冰冰会更好看吗?安排
(https://imghelloworld.osscnbeijing.aliyuncs.com/b299933deefc692934e8cc6141ab3894.png) 大家好,我是小五🐶 昨天「凹凸数据」发了一篇张同学投稿的文章《用Python爬取王冰冰vlog弹幕并制作词云(https://mp.weixin.qq.com/
小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
看到标题, 啪的一下你就进来了吧!如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁?印度:没错正是在下那必须是当代大师浑元形意太极拳掌门人「马保国」先生啊!实话讲,马保国走进大家视野还是他5月份PK被人连续KO三次。不过现在他在鬼畜区的主要素材却是马保国更早时候的一些视频。比如2020年一月份,右眼被蹭了一下的马老师面带微笑,为我们生动形象地讲述
用python爬取4332条粽子数据进行分析,再送15盒粽子给大家
↑ 点击上方 “凹凸数据” 关注 + 星标  文章干货!有福利 !  端午节快要到了,甜咸粽子之争也快要拉开帷幕。 小五准备用Python爬取淘宝上的粽子数据并进行分析,看看有什么发现。(顺便送大家一波福利)爬虫爬取淘宝数据,本次采用的方法是:Selenium控制Chrome浏览器自动化操作\[1\]。其实我们还可以利用Ajax接口来构造链接,但是非常
爬取五大平台621款手机,告诉你双十一在哪买最便宜!
↑关注+置顶 有趣的不像个技术号 今晚0点,相约剁手大家好,我是朱小五 明天就是双十一了,看了看自己手里的卡的像IE浏览器的手机,感觉可能等不到5G普及了。 我!要!换!手!机! 去哪买呢? 作为一个机(pin)智(qiong)boy,肯定要比价啊,哪家便宜去哪家 我用Python爬取了某比价网站的手机数据,获取了其中五大平台(天猫,京东,
后浪2.0:我不想做这样的人
大家好,我是小五🚀今天是“五四”青年节,B站发布了一个视频,标题为《我不想做这样的人:来自全国955位初中生的演讲》。视频中两名初中学生走上台,分享年轻一代对于“我不想做这样的人”这个话题的所见所思。 这也是B站继去年的《后浪》视频之后,第二次在“5·4”青年节上发布以年轻人为主题的视频。与《后浪》相比,《我不想做这样的人》从成年人对年轻人的看法转变为年轻
用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?
尽管抄袭傍身,也没能阻挡《爱情公寓5》进击的脚步。最近爱情公寓电视剧微博发布了长达8分钟的揭幕视频,官宣新季将在2020正式开播。 几位主演纷纷转发宣传,将爱情公寓5揭幕的话题送上了热搜。 观众在经历过一次《爱情公墓》的诈骗后,能否接受《爱情公寓5》(下文简称爱5)? 让我们来分析一下。 获取数据 首先,我选取了在B站上最热的视频,目前已经17
3000字 “婴儿级” 爬虫图文教学 | 手把手教你用Python爬取 “实习网”!
1\. 为"你"而写 这篇文章,是专门为那些 "刚学习" Python爬虫的朋友,而专门准备的文章。希望你看过这篇文章后,能够清晰的知道整个 "爬虫流程"。从而能够 "独立自主" 的去完成,某个简单网站的数据爬取。好了,咱们就开始整个 “爬虫教学” 之旅吧!2\. 页面分析 ① 你要爬取的网站是什么?首先,我们应该清楚你要爬去的网站是什么?由于这里我们想要
Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。当时并没有在意,此后也没有看到这方面的消息。 但是,就在 5 月 13 日“2021 年 Python 语言峰会”上,Python 之父 Guido van Rossum 作了一场《Making CPython Faster》的分享,他已经投入了这项计划!据
25条很棒的Python一行代码,建议收藏!
自从我用Python编写第一行代码以来,就被它的简单性、出色的可读性和特别流行的一行代码所吸引。 在下面,我将给大家介绍并解释一些Python一行程序。 可能有些你还不知道,但对你未来的Python项目很有用。 ▍1、交换两个变量  a  4 b  5 a,b  b,a  print(a,b)  5,4 让我们通过交换两个变量作为一个简
Python基础5——装饰器
13、装饰器其本质:在不需要做任何代码变动的前提下,增加额外的功能。装饰器返回的是一个函数对象。相当于把函数作为参数传递进去,然后对函数进行装饰其本质就是一个闭包作用:1. 给原来的函数增加额外的功能2. 把原来的函数作为参数传递进去 13.1 基本用法标准版的装饰器pythondef wrapper(func): func为原来的函数名 def in
小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
看到标题,啪的一下你就进来了吧!如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁?印度:没错正是在下那必须是当代大师浑元形意太极拳掌门人「马保国」先生啊!实话讲,马保国走进大家视野还是他5月份PK被人连续KO三次。不过现在他在鬼畜区的主要素材却是马保国更早时候的一些视频。比如2020年一月份,右眼被蹭了一下的马老师面带微笑,为我们生动形象地讲述了健
爬虫进阶 - 前后端分离有什么了不起,过程超详细
这是一个详细的爬虫进阶教程,里面包含了很详细的思考和试错过程,如果你对学爬虫是认真的,建议认真看。 我们要抓取下面这个网站上的所有图书列表: https://www.epubit.com/books 1) 探索研究 创建一个新的python文件,写入如下代码:import requests url  'https://www.epubit.com/boo
爬虫实战 | 手把手用Python教你采集&可视化知乎问题的回答(内附代码)
问题链接 https://www.zhihu.com/question/432119474/answer/1597194524爬虫设计流程1. 探寻网址规律 2. 尝试对某一网页访问 3. 解析感兴趣的数据 4. 存储到csv 5. 整理汇总代码 1\. 探寻网址规律1. 按F12键打开 开发者工具,