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


戳蓝字“CSDN云计算”关注我们哦!

640?wx_fmt=jpeg


作者 | 徐

来源 |  数据森麟



640?wx_fmt=png


作者:徐麟,某互联网公司数据分析狮,个人公众号数据森麟(id:shujusenlin)


640?

前言


很多人提到B站,首先想到的就会是二次元或者鬼畜,上个月,我们公众号也发表了一篇关于B站鬼畜视频的文章:大数据解读B站火过蔡徐坤的“鬼畜“区巨头们。


640?wx_fmt=png


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


640?wx_fmt=png


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


640?

数据来源


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

640?wx_fmt=png


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


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


## 获得列表def get_list(i,j):attempts = 0success = Falsewhile 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


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


640?wx_fmt=png


640?

数据分析


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


640?wx_fmt=png


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


640?wx_fmt=png


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


640?wx_fmt=png


640?wx_fmt=png


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


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


640?wx_fmt=png


640?wx_fmt=png


可以看到,前端、人工智能、数据框、爬虫这些大家比较关心以及公司有较大需求量的技术都出现在了榜单中,在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')



640?

精品视频


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


640?wx_fmt=png

640?wx_fmt=png


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


640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


640?

写在最后


B站的阿婆主为为大家提供了特别多的编程学习资源,大家在学习知识的同时,也需要注意的就是相应的版权信息。上传视频一定要确认版权不存在问题之后再去上传,另外如果发现有存在侵权的问题,也要及时跟视频作者进行反馈,及时将侵权视频下架。


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


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


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 听说,私有云也出新一代了?

  • 搞不懂SDN?那是因为你没看这个小故事…

  • 华为最强自研 NPU 问世,麒麟 810 “抛弃”寒武纪

  • 北邮通信博士万字长文,带你秒懂 4G/5G 区别!

  • LinkedIn最新报告: 区块链成职位需求增长最快领域, 这些地区对区块链人才渴求度最高……

  • 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019

  • 6月技术福利限时免费领


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建小程序

注册账号&#xff1a;https://mp.weixin.qq.com/

spring boot集成mybatis和springsecurity实现权限控制功能

上一篇已经实现了登录认证功能&#xff0c;这一篇继续实现权限控制功能&#xff0c;文中代码只贴出来和上一篇不一样的修改的地方&#xff0c;完整代码可结合上一篇一起整理spring boot集成mybatis和springsecurity实现登录认证功能-CSDN博客 数据库建表 权限控制的意思就是根…

基于云上分布式NoSQL的海量气象数据存储和查询方案

摘要&#xff1a; 气象数据是一类典型的大数据&#xff0c;具有数据量大、时效性高、数据种类丰富等特点&#xff0c;每天产生的数据量常在几十TB到上百TB的规模&#xff0c;且在爆发性增长。如何存储和高效的查询这些气象数据越来越成为一个难题&#xff0c;本文针对气象领域中…

现代IM系统中消息推送和存储架构的实现

摘要&#xff1a; 前言 IM全称是『Instant Messaging』&#xff0c;中文名是即时通讯。在这个高度信息化的移动互联网时代&#xff0c;生活中IM类产品已经成为必备品&#xff0c;比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品&…

漫画:为什么程序员没有女友?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 程序员小灰————— 五分钟后 —————ERNIE是百度开源深度学习平台飞桨&#xff08;PaddlePaddle&#xff09;推出的知识增强语义表示模型&#xff0c;通过海量数据建模词、实体及实体关系。相较于 BERT 学习原始语言信…

基于TableStore的数据采集分析系统介绍

摘要&#xff1a; 摘要 在互联网高度发达的今天&#xff0c;ipad、手机等智能终端设备随处可见&#xff0c;运行在其中的APP、网站也非常多&#xff0c;如何采集终端数据进行分析&#xff0c;提升软件的品质非常重要&#xff0c;例如PV/UV统计、用户行为数据统计与分析等。虽然…

idea 暂存文件或idea切换分支代码不见了

idea切换分支时&#xff0c;修改过的代码文件全部不见了 找了一下问题&#xff0c;切换分支时&#xff0c;idea自动会创建暂存文件&#xff0c; 点开&#xff0c;右边View --> 即可显示暂存文件。 点击Apply Stash 即可将暂存文件应用到当前分支。 如果发现此方法还是不行…

微服务架构之「 访问安全 」

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 奎哥来源 | 不止思考应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后&#xff0c;项目的复杂度提升了N个级别&#xff0c;相应的&#xff0c;微服务的安全工作也就更难更复…

百亿级全网舆情分析系统存储设计

摘要&#xff1a; 前言 在时下互联网信息的浪潮下&#xff0c;信息的传播速度远超我们的想象。微博里一条大V的帖子&#xff0c;朋友圈的一个状态更新&#xff0c;热门论坛的一条新闻&#xff0c;购物平台的购物评价&#xff0c;可能会产生数以万计的转发&#xff0c;关注&…

面试官:你简历中写用过docker,能说说容器和镜像的区别吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | bethal来源 | http://sina.lt/gfmf这篇文章希望能够帮助读者深入理解Docker的命令&#xff0c;还有容器&#xff08;container&#xff09;和镜像&#xff08;image&#xff09;之间的区别&#xff0c;并深入探讨容器和运行中…

IPv6终于要取代IPv4了!阿里云将全面提供IPv6服务

摘要&#xff1a; 近日&#xff0c;中办国办印发《推进互联网协议第六版&#xff08;IPv6&#xff09;规模部署行动计划》&#xff0c;加快推进基于IPv6的下一代互联网规模部署&#xff0c;计划指出到2018年末国内IPv6活跃用户数要达到2亿&#xff0c;2020年末达到5亿&#xff…

SDN精华问答 | 为什么会出现SDN?

SDN火热了好一阵子&#xff0c;无论运营商、政府企业、投资机构&#xff0c;一段时间&#xff0c;不知道SDN、不能甩几个SDN相关的名词术语&#xff0c;似乎都落后于时代了。今天&#xff0c;就来看看关于SDN的精华问答吧。1Q&#xff1a;SDN的本质属性&#xff1f; A&#xff…

一张图看懂2017双11中的网络产品和技术

摘要&#xff1a; 大家都知道&#xff0c;2017年双11又创造了新纪录&#xff0c;全天交易额1682亿&#xff0c;交易峰值32.5万笔/秒&#xff0c;支付峰值25.6W笔/秒&#xff0c;狂欢的背后是极其复杂庞大的技术系统&#xff0c;其中就有大量阿里云云计算相关的产品和技术&#…

开源Elasticsearch云托管服务,专享企业级服务

摘要&#xff1a; 日前&#xff0c;阿里云联合开源官方Elastic联合发布了Elasticsearch新产品。该产品基于开源Elasticsearch及商业版X-Pack插件的云托管服务&#xff0c;保证高性能、高可用&#xff0c;可弹性扩容&#xff0c;并提供企业级权限管控、安全监控告警等高级功能,适…

Ivanti罗琦:IT服务管理中“拧紧螺丝”要有门道儿!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘晶晶Ivanti与科大讯飞的携手合作&#xff01;初听这一消息&#xff0c;阿晶惊讶不已。毕竟科大讯飞擅长语音众所周知&#xff0c;Ivanti更专攻IT服务管理&#xff0c;看似“不相关”的两家企业&#xff0c;却有了某种隐含的…

CDN价格下调25% 阿里云再次冲击国内最低价

摘要&#xff1a; 在刚刚圆满落幕的云栖大会广东分会上&#xff0c;阿里云发布了很多重磅信息&#xff0c;其中不乏很多核心产品折扣幅度调整的信息。令人惊喜的是&#xff0c;阿里云CDN价格再次下调&#xff0c;降幅高达25%。降价完成后&#xff0c;带宽单价最低只需0.54元/Mb…

SpringBoot整合Spring Cloud Alibaba

spring-cloud官方中文文档https://www.springcloud.cc/spring-cloud-dalston.htmlspring-cloud官方文档https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_quick_start_6Spring Cloud Alibaba官方文档https://github.com/alibaba/spring-c…

产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡

摘要&#xff1a; 负载均衡是一种技术&#xff0c;从字面意义上理解&#xff0c;就是让负载(变得)均衡&#xff0c;负载是什么呢&#xff1f;可以理解为工作量、工作强度。用日常生活中的例子来打比方&#xff0c;一群建筑工人&#xff0c;盖一幢楼房&#xff0c;有搬砖的&…

android touch事件坐标原点,Android onTouch事件与手势操作

触摸&#xff0c;手势操作已经很好的融入了我们的生活。那么Android开发中触摸事件要如何捕捉&#xff1f;如何处理&#xff1f;如何识别手势&#xff1f;事件的传递机制又是怎么样的&#xff1f;下面我们将通过一个小例子来进行这方面的学习。先看效果图如上图所示&#xff0c…

2019年技术盘点容器篇(二):听腾讯云讲讲踏入成熟期的容器技术 | 程序员硬核评测...

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;刘晶晶据相关调研机构出具的报告数据显示&#xff0c;目前应用容器市场规模将从2016年的 7.62亿美元增长到2020年的27亿美元。显而易见&#xff0c;引入容器所展现的巨大灵活性有效推动了其采用速率&#xff0c;使企…