2000万条直播数据,揭秘斗鱼主播生存现状

Aidan075 等级 276 0 0

前言:

《凹凸数读》新文章已发,可以先看数据分析结果再回来看过程:

《2000万直播数据看20万游戏主播能否月入100万>>>>》


2019年7月17日游戏直播平台斗鱼在美国纳斯达克股票交易所成功上市,成为继虎牙直播之后第二家赴美上市的国内直播平台。

7月底斗鱼因为平台主播“乔碧萝殿下”事件再次被推上热搜。

段子手们纷纷调侃成为主播的门槛之低:只需要变声软件+盗图+超级美颜。

那么直播行业真的如同网友们所说的这么简单吗?

主播们的真实生存现状如何?

分析一下。

获取数据

打开斗鱼直播界面,连续点击翻页

Network查看异步请求XHR,找到对应的URL

2000万条直播数据,揭秘斗鱼主播生存现状

get。

2000万条直播数据,揭秘斗鱼主播生存现状

成功获取到对应的URL。

https://www.douyu.com/gapi/rkc/directory/0_0/2  

翻页只变动末尾的最后一个数字。

采用requests+pyquery来爬取。

部分爬虫代码如下。

def get_datas(url):  
    data = []  
    doc = get_json(url)  
    jobs=doc['data']['rl']  
    for job in jobs:  
        dic = {}  
        dic['user_name']=jsonpath.jsonpath(job,'$..nn')[0] #用户名  
        dic['user_id']= jsonpath.jsonpath(job,'$..uid')[0] #用户ID  
        dic['room_name']=jsonpath.jsonpath(job,'$..rn')[0]  #房间名  
        dic['room_id']=jsonpath.jsonpath(job,'$..rid')[0] #房间ID  
        dic['redu']=jsonpath.jsonpath(job,'$..ol')[0] #热度  
        dic['c2name']=jsonpath.jsonpath(job,'$..c2name')[0] #分区  
        dic['time']= stampToTime(time.time())    
        data.append(dic)  
    return data 

剩下就是连续爬取,我设置的是10分钟爬取一次。

将爬取得到的数据存入Mysql中。

#存到Mysql  
from sqlalchemy import create_engine  

engine = create_engine('mysql+mysqldb://root:***密码***@localhost:3306/demo?charset=utf8mb4')  
final_result.to_sql('data_douyu',con=engine, index=False, index_label=False,if_exists='append', chunksize=1000)  

连续爬取了大概七天多时间,最终得到2062万条直播数据。

2000万条直播数据,揭秘斗鱼主播生存现状

数据分析

将数据导入python。

2000万条直播数据,揭秘斗鱼主播生存现状

去重,其实爬虫部分已经设置去重,这里为了保险再来一次,不过事实证明确实没有重复。

因为实际爬取时间是0731下午到0808上午,为了方便后文计算,这里选取0801-0807这连续七天的直播数据。

#去重  
data = data[['c2name', 'redu', 'room_id', 'room_name', 'time','user_id', 'user_name']].drop_duplicates()  

#筛选时间  
data = data.loc[(data['time'] <= '2019-08-07') & (data['time'] >= '2019-08-01')]

我们还需要对主播按照id分组汇总。

先利用groupby分类汇总,再计算增加新列。

data_abc['av_redu'] = data_abc['redu']/data_abc['time_num']  
data_abc['hour'] = data_abc['time_num']/ 42 #每十分钟一次,七天  
data_abc.head()  

2000万条直播数据,揭秘斗鱼主播生存现状

这样我们就又构建了一组以主播为索引的数据。

2000万条直播数据,揭秘斗鱼主播生存现状

也就是说这七天之内,直播过的主播共有23万余人,那么下文让我们看看他们的生存现状吧。

数据可视化

将这23万主播按照平均直播时长和平均直播热度绘制一个散点图。

import seaborn as sns  
import matplotlib as mpl #配置字体  
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体  
mpl.rcParams['axes.unicode_minus']  

plt.figure(figsize=(8,8))  
plt.xticks(fontsize=12)  
plt.yticks(fontsize=12)  

sns.scatterplot(data_test["hour"],data_test["av_redu"],hue=data_test["c2name"])  

结果如下图所示。

2000万条直播数据,揭秘斗鱼主播生存现状

从上图能看出,绝大部分主播都在底部,能够成为大主播的寥寥无几,且热度较高的主播集中于上述的几个热门分区,其他分区主播发展普遍一般。

由于有20多万的主播集中在下方,很难看出他们平均直播时长的分布。

另一方面,主播分化程度较为严重,为了更直观的展现趋势,我们以1万平均热度为分界,分析不同规模的主播每天平均直播时长。

#头部主播  
plt.figure(figsize=(10,6))  
plt.xticks(fontsize=13)  
plt.yticks(fontsize=13)  
sns.distplot(data_abc.loc[(data_abc['av_redu'] > 10000)]["hour"],kde=True,rug=False,color='y')  
plt.show()

2000万条直播数据,揭秘斗鱼主播生存现状

图中可以发现较大的主播每天直播时长集中在5小时左右,这5个小时的游戏并非我们平时玩的那么简单。主播直播时往往既需要全神贯注玩游戏,又要和观众一起互动交流。

而较小主播直播时长则大部分在1小时左右,不能持续直播,导致观众少;观看人数少,主播没动力,久而久之,也就难以出头,形成恶性循环。

上图中有一些异常值,即平均每日直播时长超过20小时的直播间,这样的直播大部分为“一起看”分区,可以24小时连续播放电影电视剧之类的视频,余下都是游戏或者比赛的官方频道,用来循环播放官方视频。

那么主播们大部分在什么时间直播呢?

他们的观众也是同一时间准时观看吗?

2000万条直播数据,揭秘斗鱼主播生存现状

从同一时间段内主播直播与观众观看在线人数可以看出,有两个时段有差异。

一个是晚上21点后至凌晨6点前,以直播为职业的主播往往已经进行了5-6小时高强度不间断的直播,会选择后半夜好好休息一下,而将看直播作为娱乐的观众则躺在床上看到上头;

另一个时段是下午12点左右到18点,观众都正在上班上学,而很多全职主播中午起床吃饭后,正好下午开始了他们的直播。

2000万条数据能分析的当然不止这些,详情请移步。

《2000万直播数据看20万游戏主播能否月入100万>>>>》

大部分主播并非我们想象的那样,时间自由,赚钱容易。每天在线直播的主播人数以十万甚至百万为单位,但真正赢得观众喜爱和自愿刷大量礼物的事实上寥寥无几。一时的流量换不来观众永远的买账,以噱头博出位后如何用内容留住观众,是每个主播在探索的方向。

随着行业监管的加强,直播平台逐渐褪去“泡沫”,流量红利消失,回归理性。“熊猫”已经远走,行业内的竞争更加集中在剩下的头部平台之间,这些平台也更需要探索更优质的内容和更多元的发展,绝不可寄希望于花几千万签约“知名主播”或是炒作“乔碧萝”之类的噱头。

本文相关爬虫代码,仅供学习交流:

#下载链接  
https://t.zsxq.com/iQRjeeY

转载请尽量带上二维码或者结尾注明来源,谢谢了。

2000万条直播数据,揭秘斗鱼主播生存现状

原创不易,点个好看吧

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/dIUNslHuxnd9H_x4fMFEeQ,可扫描二维码进行关注: 2000万条直播数据,揭秘斗鱼主播生存现状 如有侵权,请联系删除。

收藏
评论区

相关推荐

爬虫入门经典(十六) | 一文带你爬取斗鱼主播相关信息
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
2000万条直播数据,揭秘斗鱼主播生存现状
前言: 《凹凸数读》新文章已发,可以先看数据分析结果再回来看过程: 《2000万直播数据看20万游戏主播能否月入100万》(http://mp.weixin.qq.com/s?__bizMzIxNjgyOTA3NQ&mid2247484088&idx1&snd57ac021af33b83d2e66546384bcea4c&chksm
基于活动选择问题的贪心算法
目录 问题描述:(问题描述%3A) 输入格式(输入格式) 输出格式(输出格式) 算法描述(算法描述与分析) 算法分析(算法分析) 算法图示(图解) 问题描述: Coda从0时刻开始观看直播,到 t 时刻结束。一共有n场直播可被选择,已知所有直播场次的起止时间和主播名称,其中第i场直播从ai时刻开始,
「Vue — 插件」轮播图vue-awesome-swiper
1:安装cnpm install vueawesomeswiper@3 savedevcnpm install swiper@32:在main.js中 jsimport VueAwesomeSwiper from 'vueawesomeswiper'import 'swiper/dist/css/swiper.css'Vue.use(Vu
「Vue — 插件」轮播图vue-awesome-swiper
1:安装cnpm install vueawesomeswiper@3 savedevcnpm install swiper@32:在main.js中 jsimport VueAwesomeSwiper from 'vueawesomeswiper'import 'swiper/dist/css/swiper.css'Vue.use(Vu
Django+Vue开发生鲜电商平台之11.首页、商品数量、缓存和限速功能开发
青,取之于蓝而青于蓝;冰,水为之而寒于水。 ——《荀子·劝学》Github和Gitee代码同步更新:;。 一、首页功能完善首页待完善的功能包括轮播图、新品尝鲜、系列商品等。 1.轮播图实现轮播图包括3张图片,链接对应3个商品,先在apps/goods/serializers.py中定义序列化如下:pythonclass Banner
2021涅普冬令营笔记——misc
写在前面 有幸当上了这个冬令营桂电的负责人,然后也通过活动弄到了想要蛮久的零组文库邀请码,这个活动主要是面向零基础的小白入门 CTF 的,虽然我已经不算新手了,但是每次直播时间也不长,给自己查缺补漏吧,所以这就是2021涅普冬令营的直播随堂笔记啦 课程大纲 2021.2.1——教你如何在一张图片中隐藏不可告人的秘密 这次讲课的是Nepnep战队的贝塔姐姐,声
Android深入四大组件(四)广播的注册、发送和接收过程
Android框架层 Android深入四大组件categories: Android框架层本文首发于微信公众号「刘望舒」 前言我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册、接收和发送过程。 1.广播的注册过程BroadcastReceiver的注册分为两种,分别是静态注册和动态注册,静态注册在应用安装时由
2000万条直播数据,揭秘斗鱼主播生存现状
前言:《凹凸数读》新文章已发,可以先看数据分析结果再回来看过程: 2019年7月17日游戏直播平台斗鱼在美国纳斯达克股票交易所成功上市,成为继虎牙直播之后第二家赴美上市的国内直播平台。 7月底斗鱼因为平台主播“乔碧萝殿下”事件再次被推上热搜。 段子手们纷纷调侃成为主播的门槛之低:只需要变声软件+盗图+超级美颜。那么直播行业真的如同网友们所说的这
尤大都说了,别用parcel了。但我还是整出了一款Vue3项目搭建工具parcel-vue-app
先放图弱弱的说一句,我真的错了。不该用parcel前几天,尤大开直播说了造轮子的好处,主要还是锻炼自己。所以自己还是义无反顾地把这个项目搭建工具慢慢地造起来。这次升级这次版本是v1.0.5。我们来看下这次版本的预装依赖,我们的项目UI框架预先安装上了antdesignvue@2.1.4,默认是按需加载。为什么这次是引入它,而不是elementplus,主要是
基于Vue.js的Web视频播放器插件vue-vam-video@1.3.6 今日正式发布
前言今日正式发布一款基于Vue.js的Web视频播放器插件。可配置,操作灵活。跟我一起来体验吧!线上地址体验基于vue3.0和vuevamvideo,我开发了一款在线视频播放器。网址:https://www.maomin.club/site/videoplayer/ 源代码:https://github.com/maomincoding/videoplay
从0到1搭建一款Vue可配置视频播放器组件(Npm已发布)
前言话不多说,这篇文章主要讲述如何从0到1搭建一款适用于Vue.js的自定义配置视频播放器。我们平时在PC端网站上观看视频时,会看到有很多丰富样式的视频播放器,而我们自己写的video标签样式却是那么丑。其实像那些网站都是基于原生video标签进行开发的,只不过还得适当加工一下,才会有我们所看到的漂亮的视频播放器。开发在具体开发之前,我们需要明确我们需要做什
认识树莓派及树莓派登录配置(SecureCRT)
什么是树莓派它是一款 基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上, 具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspb
2分钟做一个Vue实时直播系统
前言我们在不敲代码的时候可能会去看游戏直播,那么是前台怎么实现的呢?下面我们来讲一下。第一步,购买云直播服务首先,你必须去阿里云或者腾讯云注册一个直播服务。也花不了几个钱,练手的话,几十块钱就够了。这里我拿阿里云举例,购买完了,配置好推流域名跟播流域名,下面我们将进行地址生成。记住下面生成的地址,下面会用到。第二步,下载本地推流工具https://obspr
RTSP H264 流 MSE 播放
项目介绍: It this demo we're streaming live video from an RTSP camera to your HTML5 browser. Video is streamed as H264 encapsulated in MP4. No transcoding takes place in the streamtobr