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

Karen110
• 阅读 1423

看到标题,

啪的一下你就进来了吧!

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

印度:没错正是在下

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通过简短的爬虫代码,

很快啊,很快就爬取了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)  

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

1.4万条数据预览

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

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

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

按照播放量排序一下。

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

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

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

那按照点赞量呢?小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析

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

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

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

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

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

# 绘制词云图  
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条马老师视频数据来分析

耗子尾汁真是门面担当!

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

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

最后小五想推荐几个视频:

1、比较喜欢的人力VOCALOID

2、技术向的标杆,重点是小芃授人以渔!

3、最后观察者网的视频给大家呈现了一个更多元的,“三维立体浑元”的马老师,甚至还发掘出了一些闪光点,而非一味的玩梗。

**-----**------**-----**---**** End **-----**--------**-----**-****

往期精彩文章推荐:

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

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/iz59SCVQCFN_xw7YjozwqQ,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Aidan075 Aidan075
3年前
小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
看到标题,啪的一下你就进来了吧!如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁?印度:没错正是在下那必须是当代大师浑元形意太极拳掌门人「马保国」先生啊!实话讲,马保国走进大家视野还是他5月份PK被人连续KO三次。不过现在他在鬼畜区的主要素材却是马保国更早时候的一些视频。比如2020年一月份,右眼被蹭了一下的马老师面带微笑,为我们生动形象地讲述
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Karen110 Karen110
2年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Aidan075 Aidan075
3年前
小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
作者:朱小五源自:凹凸数据看到标题,啪的一下你就进来了吧!如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁?印度:没错正是在下那必须
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
5个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这