小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析

转自 | 凹凸数据

作者 | 朱小五

看到标题 ,

啪的一下你就进来了吧!

如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁?

印度:没错正是在下

那必须是当代大师浑元形意太极拳掌门人「马保国」先生啊!

实话讲,马保国走进大家视野还是他5月份PK被人连续KO三次。

不过现在他在鬼畜区的主要素材却是马保国更早时候的一些视频。

比如2020年一月份,右眼被蹭了一下的马老师面带微笑,为我们生动形象地讲述了健身房里的年轻人是如何不讲武德,偷袭他的故事。

在视频里,他控诉踢馆的年轻人 “不讲武德” ,劝他 “耗子尾汁” 。可以作为B站入站题目,建议全文背诵。

B站这个小机灵鬼,甚至还给马老师专门开了专栏,这为我们后续爬取数据也带来了便利。

跟平时爬取B站不太一样,在B站的马保国专栏下,F12可以轻松找到接口。

https://api.bilibili.com/x/web-interface/web/channel/multiple/list?channel_id=3503796&sort_type=hot&page_size=30

解析JSON后我们需要的数据都可以获得。

其中要提到一点,url中的 offest 从解析上一个url的json中获取,如如下图所示。

通过简短的爬虫代码,

很快啊,很快就爬取了1.4万条马保国先生的视频数据。

def get_data(url,headers):

data_m = pd.DataFrame(columns=['id','name','view_count','like_count','duration','author_name','author_id','bvid'])

html = requests.get(url,headers=headers).content

data = json.loads(html.decode('utf-8'))

offset = data['data']['offset']

print(offset)

for j in range(30):

data_m = data_m.append({'id':data['data']['list'][j]['id'],'name':data['data']['list'][j]['name'],

'view_count':data['data']['list'][j]['view_count'],'like_count':data['data']['list'][j]['like_count'],

'duration':data['data']['list'][j]['duration'],'author_name':data['data']['list'][j]['author_name'],

'author_id':data['data']['list'][j]['author_id'],'bvid':data['data']['list'][j]['bvid']},ignore_index=True)

return(offset,data_m)

1.4万条数据预览

我们先进行简单的数据整理(播放量有的是万为单位)后,将1.4万个视频按照播放量和点赞量制作了一个散点图。

可以看到什么才是“顶流”的话题,播放量几百万,点赞量几十万的相关视频特别多。

按照播放量排序一下。

第一名就是今年一月份相声泰斗马老师经典单口相声!!!

那按照点赞量呢?

第一名是来自鬼畜up主的伊丽莎白鼠“武 林 高 手”!

而懂王与马老师的联动表现也很优秀!

其中几个特效向的表现更是突出!

由于马老师的语录太过经典, 我决定再补充爬一下它的弹幕。

# 绘制词云图

stylecloud.gen_stylecloud(text=' '.join(text1),

collocations=False,

font_path=r'C:\Windows\Fonts\msyh.ttc',

icon_name='fas fa-play-circle',

size=653,

output_name='马保国词云图.png')

Image(filename='马保国词云图.png')

耗子尾汁真是门面担当!

婷婷、英国大理石、塔门说也夹杂其中。

你可能感兴趣的:(小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析)