作者 | 徐麟

责编 | 胡巍巍

前言

很多人提到B站,首先想到的就会是二次元或者鬼畜。

上个月,笔者也发表了一篇关于B站鬼畜视频的文章:大数据解读B站火过蔡徐坤的“鬼畜“区巨头们。

然而,实际上B站其实是个非常神奇的网站,里面的内容可谓是包罗万象,有趣的弹幕文化也能极大地提高大家的体验,B站也逐渐地成为了一个用来学习的“神器”。

近期B站获得了央视网的力挺,报道称B站已经成为了越来越多的年轻人的学习阵地,正所谓“我在B站看番,你却在B站学习” ,今天我们就来爬取B站上那些播放量、弹幕量排名靠前的编程类视频,一起去了解B站的另一面。

数据来源

我们此次的数据主要来源于B站搜索框中输入“编程”后的视频列表及相关信息:

B站一共提供了物种视频排序的方式,每种能够返回前1000个视频,我们分别爬取五种排序所得到的1000个视频之后对5000个视频进行排序,最终得到了2000多个编程类视频的信息。

同时我们也增加了一些筛选条件,使得最终获取到的编程教学视频更具代表性:a.所属分类为科技类 b.视频时长大于60分钟,部分代码如下:

## 获得列表
def get_list(i,j):
 attempts = 0
 success = False
 while attempts < 5 and not success:
 try:
    url = 'https://search.bilibili.com/all?keyword=%E7%BC%96%E7%A8%8B&from_source=banner_search&order={}&duration=4&tids_1=36&page={}'.format(i,j+1) 
    header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0',
     'Connection': 'keep-alive'}
    cookies ='v=3; iuuid=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; webp=true; ci=1%2C%E5%8C%97%E4%BA%AC; __guid=26581345.3954606544145667000.1530879049181.8303; _lxsdk_cuid=1646f808301c8-0a4e19f5421593-5d4e211f-100200-1646f808302c8; _lxsdk=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; monitor_count=1; _lxsdk_s=16472ee89ec-de2-f91-ed0%7C%7C5; __mta=189118996.1530879050545.1530936763555.1530937843742.18'
    cookie = {}
     for line in cookies.split(';'):
        name, value = cookies.strip().split('=', 1)
        cookie[name] = value 
        html = requests.get(url,cookies=cookie, headers=header).content
        bsObj = BeautifulSoup(html.decode('utf-8'),"html.parser")
        script = bsObj.find_all('script')[3].text
        info = json.loads(script.replace('window.__INITIAL_STATE__=','').split(';(function()')[0])['allData']['video']
     return info
     except:
        attempts = attempts+1
     return []

coding_all = []
type = ['click','stow','dm']
for i in type:
     for j in range(50):
        this_coding = get_list(i,j)
        coding_all = coding_all+this_coding

最终,我们获取到了如下的视频信息列表:

数据分析

获取到数据之后,我们首先关注的是这些视频的主要内容,通过视频给出的标签,绘制整体内容总结的词云图:

可以看到,上面的词云除了编程语言,技术之外包含了许多类似于学习,教程这样的通用描述性词汇,我们需要进一步从中筛选出与编程语言、技术相关的词云,提高词云图的效果:

可以看到,经过筛选后的词云图效果要好很多,其中基本上囊括了现在比较火的编程语言,如Java、Python 以及数据结构、机器学习这些技术类的内容,下面我们来看一下各编程语言的播放量及弹幕量对比:

我们此次将Linux也划分到语言类中,可以看到目前基本上就是处于Python、C语言、Java三组鼎力的态势,Python略微领先于其他两种语言,这也一定程度反映了当今的整体发展趋势。由此可见,B站的内容也是与时俱进,适合年轻人去学习了解编程整体发展趋势。

看完了语言类,我们再来看一下具体的技术类排行榜:

可以看到,前端、人工智能、数据框、爬虫这些大家比较关心以及公司有较大需求量的技术都出现在了榜单中,在B站如果能将自己所要从事领域的视频认真学习,也会有很大的提高,部分代码如下:

## 分组统计
coding_tag = dataframe_explode(coding,'tag')
coding_tag['tag'] = coding_tag['tag'].apply(str.lower)
coding_tag['type'] = coding_tag['tag'].map({tag_dict['tag'][k]:tag_dict['type'][k] for k in range(tag_dict.shape[0])})
coding_tag = coding_tag.groupby(['title','pic','author','arcurl','tag','type'],as_index=False).agg({'play':'max','danmu':'max','favorites':'max','review':'max'})
tag_count = coding_tag.groupby(['tag','type'],as_index=False).agg({'title':['count'],'play':['sum'],'danmu':['sum'],'favorites':['sum']}) 
tag_count.columns = ['tag','type','num','play','danmu','favorites']
## 绘制图片
coding_stat = tag_count[tag_count['type']=='语言']
coding_stat.sort_values('play',ascending=False,inplace=True)
attr = coding_stat['tag'][0:10]
v1 = coding_stat['play'][0:10]
bar = Bar("语言类播放量TOP10")
bar.add("播放数量", attr, v1, is_stack=True, xaxis_rotate=30,xaxis_label_textsize=18,
        xaxis_interval =0,is_splitline_show=False,label_text_size=12,is_label_show=True)
bar.render('语言类播放量TOP10.html')

精品视频

分析完整体视频内容的分布情况,我们再来看下那些最为精品的视频,由于B站以弹幕文化为特色,我们就依据弹幕量来为大家精选出一些非常不错的视频,首先是所有编程类视频的TOP20:

我们下面分别看一下三足鼎立中的Python、Java、C语言分别弹幕量排名前十的视频信息:

写在最后

B站的阿婆主为为大家提供了特别多的编程学习资源,大家在学习知识的同时,也需要注意的就是相应的版权信息。

上传视频一定要确认版权不存在问题之后再去上传,另外如果发现有存在侵权的问题,也要及时跟视频作者进行反馈,及时将侵权视频下架。

另外,希望大家能够多多支持技术类的视频和阿婆主,如果觉得不错就不要吝惜手中的硬币,让更多的技术类阿婆主有动力为大家提供更多更好的视频内容。

作者简介:徐麟,某互联网公司数据分析狮,哥大统计狗,喜欢用R&Python玩一些不一样的数据。个人公众号:数据森麟(ID:shujusenlin)。

声明:本文为作者投稿,版权归对方所有。

5G之后,中国的人工智能发展趋势如何?

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

【END】

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

☞ 人民日报调查“浏览器主页劫持”;CEO 回应小霸王游戏机团队解散;陌陌暂时关闭动态发布功能 | 极客头条

☞ 唯一被图灵求婚的女人,与他并肩破译纳粹德国 Enigma 密码,拯救千万人生命!| 人物志

Google 究竟是不是要用 Fuchsia OS 取代 Android?

互联网行业人才格局大换血,BAT 已换位?

☞ 中小学 AI 教育靠谱吗?50% 教师教学经验不足 1 年

肖仰华:知识图谱落地,不止于“实现”

数据库不适合上容器云?| 技术头条

增长88%! 2019福布斯全球区块链50强榜单, 你未必看懂这3个细节

☞ 补偿100万?Oracle裁900+程序员,新方案已出!

你点的每个“在看”,我都认真当成了喜欢

你相信逛 B 站也能学编程吗?相关推荐

  1. 万万没想到,逛B站也能学编程了

    作者 | 徐麟,某互联网公司数据分析狮 转载自 | 数据森麟(id:shujusenlin) 前言 很多人提到B站,首先想到的就会是二次元或者鬼畜,上个月,我们公众号也发表了一篇关于B站鬼畜视频的文章 ...

  2. 你相信逛B站也能学编程吗?

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 徐麟 来源 |  数据森麟 作者:徐麟,某互联网公司数据分析狮,个人公众号数据森麟(id:shujusenlin) 前言 很多人提到 ...

  3. 【吐槽脑洞】关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考

    [吐槽&开脑洞]关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考 预警:本贴没有什么技术含量,也没有什么严谨的资料调查,仅仅是自己的一次游戏体验引起的一些思考和个人观点,以及作为 ...

  4. 我学编程全靠B站了,真香(第二期)

    作者:阿秀 阿秀的校招笔记:https://interviewguide.cn 你好,我是阿秀. 上次给大家推荐了不少B站上的好视频,看得出来还是有不少B站大学的校友的,哈哈哈. 本来说这期给大家接着 ...

  5. 在 B 站学编程,真滴牛逼!

    互联网让信息更容易触达,但是由于信息过于庞大,筛选出有价值的信息所花费的精力也会很大. 众所周知,B 站是一个学习的网站,很多人在 B 站上大学.考研.学编程,但 B 站的视频资源那更是五花八门,要从 ...

  6. 26岁学编程会不会已经晚了?

    4月份的时候,由于一些原因我辞去了银行的工作.当时,就是没有任何计划的裸辞.我当时也不知道自己想干嘛,就是想停下来.幸好自己平时没有乱花钱的习惯,自己存下来的积蓄足够我熬过一年半载.其实我已经不太记得 ...

  7. 《从问题到程序:用Python学编程和计算》——3.4 定义函数

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第3章,第3.4节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3. ...

  8. java和python哪个编程好找工作_学编程选Python还是Java?就业发展哪个好??

    原标题:学编程选Python还是Java?就业发展哪个好?? 近日,很多学生在选择专业上遇着难题,不少打算学计算机的学生询问,是学Java好就业还是Python好就业. 我们认为,不管是想学Java还 ...

  9. GitHub 标星 5000+!学生党学编程,有这份资料就够了!

    前言 随着近两年编程教育的推广与普及,不少初高中的在校学生也都开始学起了编程.在他们当中,有些人上手编程速度之快,产出项目质量之高,大大超出教育者的预期. 比如我之前曾分享过的一个开源项目 Wexon ...

最新文章

  1. IOS 学习笔记 2015-03-20 O之 nil,Nil,NULL,NSNull
  2. 区块链BaaS云服务(16)天德链TDBC“金丝猴链”
  3. iis php cgi.exe 漏洞,IIS4\IIS5 CGI环境块伪造0day漏洞
  4. C++ 关键字new
  5. java高并发(七)发布对象
  6. 通过100个单词掌握英语语法(四十四)more
  7. 一些我工作中经常使用的ABAP新语法和函数,关键字,可以提高工作效率
  8. influxdb tsm文件_Influxdb中的Compaction操作
  9. [Swift通天遁地]五、高级扩展-(4)快速生成Invert、Mix、Tint、Shade颜色及调整饱和度阶...
  10. Cmder安装后相关配置说明
  11. mysql 表字段部分替换
  12. 无连续整数的子集数问题
  13. apache2 + django
  14. acme部署https证书
  15. App保持登录状态的常用方法
  16. CAN总线隔离器介绍
  17. Crossbar率先发难—欲彻底埋葬英特尔的3D XPoint技术
  18. 压力应力测试软件,管道强度和应力计算软件
  19. rust 调用 java_自从尝了 Rust,Java 突然不香了
  20. gmapping源码分析(转)

热门文章

  1. [ubuntu] 按文件大小进行排序
  2. [Python] ubuntu 上安装 Miniconda
  3. [Ubuntu] 文件权限
  4. can接收进入两次中断_STM32的CAN2口无法进入接收中断
  5. c语言std变量,10-C ++中的变量
  6. droid sans字体_2019年免费可商用字体大全(附打包下载)
  7. Linux获取文件信息
  8. Flutter基础—布局模型之水平垂直
  9. js array循环给每个对象添加元素
  10. 马斯克:我是Rust粉丝,但我选择C