今天这篇干货文转载自 「数据森麟」欢迎扫码关注

之前写过一篇快速批量下载 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')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站的阿婆主为为大家提供了特别多的编程学习资源,大家在学习知识的同时,也需要注意的就是相应的版权信息。上传视频一定要确认版权不存在问题之后再去上传,另外如果发现有存在侵权的问题,也要及时跟视频作者进行反馈,及时将侵权视频下架。

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

后台回复“编程”可以获取本文代码。

B站 TOP10 Python视频教程相关推荐

  1. 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...

    小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...

  2. 建了个微信交流群,和我一起在 b 站学 Python

    苏生不惑第220 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前我发过好几篇关于Python的文章: 七夕又来了,给女朋友做个动态二维码 一键下载公众号所有文章,导出文件支持PDF,HTM ...

  3. 你在 B 站看番剧,别人在 B 站学 Python !

    B 站想必大家都不陌生,全名哔哩哔哩,可以说是中国最大的二次元视频网站,爱看动漫的同学没有不知道的.小编也是个动漫迷,当然现在除了动漫,不管啥类型的视频我都愿意去b站看,与其说追剧,我看的更多的是弹幕 ...

  4. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  5. python自学视频教程-私藏已久的7个Python视频教程

    有读者问到有没有Python视频教程,如果你善用搜索引擎的话,网上资源一抓一大把,甚至还有机会接触到国际顶尖大学的计算机视频课程.看视频的好处能跟着老师的思路一起学习,虽然效率没有直接啃书快,但对于看 ...

  6. python视频教学视频哪个好-python视频教程哪家好

    原标题:python视频教程哪家好 不知从何时起,"人生苦短,我用Python"这句话就火了起来,不仅是程序员的圈子,甚至连很多的企业都掺了一脚,进来开始着手培养自己的Python ...

  7. python快速编程入门教程-python从入门到精通之30天快速学python视频教程

    python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv python入门教程-2-Python编程语言初接触.mkv ...

  8. python视频教程大全

    python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV  python从入门到精通视频(全60集)链接:http://pan.baidu.com/s/1 ...

  9. Python学习入门2:Python学习路线(课程大纲+Python视频教程+下载地址)

    Python学习路线(课程大纲+Python视频教程+下载地址) 目前Python已经成为最受欢迎的程序设计语言之一.Python的设计哲学是"优雅"."明确" ...

  10. 传智播客python2018_Python视频教程下载-2018传智播客Python视频教程下载-西西软件下载...

    2018传智播客Python视频教程带给大家一款非常全面的Python视频教程,这里有课件和源码,还有海量基础课视频教程,汇聚了众多实践案例和面向对象的编程实践操作,无论你是零基础学员,或者资深Pyt ...

最新文章

  1. 推荐几个BAT大佬的公众号
  2. vue怎么vw布局好用_vue 实现 rem 布局的 或者 vw 布局的方法
  3. DC/DC电源模块是什么?有何特点
  4. LFS-构建自己的linux
  5. 并查集(2)-按秩合并和路径压缩
  6. 三列自适应布局(圣杯布局)
  7. MySql递归查询上级,下级
  8. easypr最新Linux,easyPR基本使用
  9. linux 消息队列
  10. python实例008--摄氏温度和华氏温度转换
  11. Mac 如何升级 Ruby 版本
  12. 39. 实战:基于api接口实现视频解析播放(32接口,窗口化操作,可导出exe,附源码)
  13. Unity实现加载文件夹内所有图片并可显示和放大的一种解决方案
  14. unity2D横版游戏跳跃实时响应
  15. python显示图片 播放mp3_如何在python中从Mp3文件中提取和显示唱片集图片
  16. NVIDIA支持CUDA的显卡选型简述
  17. PowerBuilder学习笔记(4)数据窗口(DataWindow)
  18. 左手Python2 右手Python3,我该选择谁?
  19. leetcode 355 Design Twitte
  20. InputStream 中available 的使用

热门文章

  1. Ant Design Vue中日期选择器中绑定后台获取的时间
  2. python打开qq并登录_python爬虫入门之qq登陆初探
  3. 计算机语言学方面的期刊.,自然语言处理投稿哪些sci期刊
  4. html之圆形用户头像
  5. linux怎么安装台式无线网卡,linux下安装无线网卡
  6. matlab simulink仿真实现电力电子的整流电路
  7. Mac OS 开机密码重置
  8. 小教程:设置苹果Mac电脑的开机密码
  9. excel冻结多行(固定表头)
  10. 算法日记---不同的二叉搜索树