作者 | 朱小五

来源 | 凹凸玩数据(ID:alltodata)

2019年7月17日游戏直播平台斗鱼在美国纳斯达克股票交易所成功上市,成为继虎牙直播之后第二家赴美上市的国内直播平台。
7月底斗鱼因为平台主播“乔碧萝殿下”事件再次被推上热搜。
段子手们纷纷调侃成为主播的门槛之低:只需要变声软件+盗图+超级美颜。
那么直播行业真的如同网友们所说的这么简单吗?
主播们的真实生存现状如何?

分析一下。

获取数据

打开斗鱼直播界面,连续点击翻页,Network查看异步请求XHR,找到对应的URL
get

成功获取到对应的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万条直播数据。

数据分析

将数据导入python。
去重,其实爬虫部分已经设置去重,这里为了保险再来一次,不过事实证明确实没有重复。
因为实际爬取时间是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()
这样我们就又构建了一组以主播为索引的数据。
也就是说这七天之内,直播过的主播共有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"])

结果如下图所示。

从上图能看出,绝大部分主播都在底部,能够成为大主播的寥寥无几,且热度较高的主播集中于上述的几个热门分区,其他分区主播发展普遍一般。
由于有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()

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

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

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

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

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

从同一时间段内主播直播与观众观看在线人数可以看出,有两个时段有差异。
一个是晚上21点后至凌晨6点前,以直播为职业的主播往往已经进行了5-6小时高强度不间断的直播,会选择后半夜好好休息一下,而将看直播作为娱乐的观众则躺在床上看到上头;
另一个时段是下午12点左右到18点,观众都正在上班上学,而很多全职主播中午起床吃饭后,正好下午开始了他们的直播。
2000万条数据能分析的当然不止这些,详情请移步。
大部分主播并非我们想象的那样,时间自由,赚钱容易。每天在线直播的主播人数以十万甚至百万为单位,但真正赢得观众喜爱和自愿刷大量礼物的事实上寥寥无几。一时的流量换不来观众永远的买账,以噱头博出位后如何用内容留住观众,是每个主播在探索的方向。
随着行业监管的加强,直播平台逐渐褪去“泡沫”,流量红利消失,回归理性。“熊猫”已经远走,行业内的竞争更加集中在剩下的头部平台之间,这些平台也更需要探索更优质的内容和更多元的发展,绝不可寄希望于花几千万签约“知名主播”或是炒作“乔碧萝”之类的噱头。
本文相关爬虫代码,仅供学习交流:
#下载链接
https://t.zsxq.com/iQRjeeY

(*本文为Python大本营转载文章,转载请联系原作者)

精彩推荐

由易观携手CSDN联合主办的第三届易观算法大赛正在火热进行中!冠军奖3万元,每人最多邀请5位用户组队参赛。本次比赛主要预测访问平台的相关事件的PV,UV流量(包括Web端,移动端等),大赛将会提供相应事件的流量数据,以及对应时间段内的所有事件明细表和用户属性表等数据,进行模型训练,并用训练好的模型预测规定日期范围内的事件流量。

推荐阅读

  • 如何用爬虫技术帮助孩子秒到心仪的幼儿园(基础篇)

  • 干货 | Python后台开发的高并发场景优化解决方案

  • 2019年最新华为、BAT、美团、头条、滴滴面试题目及答案汇总

  • 阿里巴巴杨群:高并发场景下Python的性能挑战

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

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

  1. 真实数据揭秘游戏主播能否月入100万

    她那时候还太年轻,不知道命运赠送的礼物,早已暗中标好了价格. --<断头王后> 社会在发展,时代在进步.伴随着未曾停息的拥护声和反对声,电竞行业逐渐被接受,被认可,走进大众视野,不再是&q ...

  2. 直播场控助手 | 为什么说直播场控比主播更重要?

    在竞争白热化的直播时代,作为主播最亲密的伙伴,场控的作用不容忽视. 优秀的场控掌握着关键成交节点,实时帮助主播带节奏.促转化.在精细化直播运营中,优秀的场控能力胜过十位主播,让直播间轻松实现销量翻倍. ...

  3. 天猫双12爬虫(福利:266万条商品数据免费下载)

    前言: 继:<天猫双11爬虫(福利:212万条商品数据免费下载)>. 天猫双12商品原始数据\color{red}{天猫双12商品原始数据} 链接:http://pan.baidu.com ...

  4. 斗鱼直播画面怎么弄到自己网页上_“集战!创界山勇者”斗鱼主播招募活动开始啦!...

    关注微信公众号:梦幻模拟战手游 Langrisser传说,由你书写! <梦幻模拟战>x<魔神英雄传>联动活动火热来袭!"小救星"战部渡与伙伴剑部武一郎.忍部 ...

  5. 天猫双11爬虫(福利:212万条商品数据免费下载)

    2016年12月12日更新:<天猫双12爬虫(福利:266万条商品数据免费下载)> 背景: 2016年11月11日,中午刷了一下天猫,突然来了兴致想要把天猫上参与双11活动的商品都爬下来. ...

  6. 500万条微博数据来源分析

    最近项目不是特别忙,想做一些微博方面的分析和处理工作,如果自己现爬取微博数据,积累数据比较慢,恰好看到北理工张华平老师分享的500万条微博数据,直接借用他的数据分析.下载地址是:http://www. ...

  7. 移动直播之网红主播怎样将直播内容推到斗鱼直播平台的方案

    移动直播之网红主播怎样在没有电脑的情况下将直播内容推到斗鱼直播平台 1. 概要 斗鱼直播平台支持第三方推流,本文描述如何用ENC1编码器推流给斗鱼直播平台 1.1 设备连接 准备4G模块[参考链接] ...

  8. 直播画面已被主播锁定!输入正确的密码后可解锁画面。斗鱼直播主播锁定画面解锁方法(网页版)

    解决斗鱼网页版:直播画面已被主播锁定,输入正确的密码后可解锁画面 的问题 注意:此博客仅供技术交流参考,擅自操作造成的一切法律责任自负!!! 问题描述 问题分析 解决思路 具体方法 1.网页空白处点击 ...

  9. 魔兽世界9.0主播最多的服务器,斗鱼主播服务器分布揭秘!魔兽世界怀旧服精彩不间断...

    魔兽世界怀旧服一经推出便吸引了诸多新老玩家的目光,斗鱼平台打造的"斗鱼魔兽怀旧服大事件"活动更是让不少玩家纷纷加入冲级行列,如今斗鱼直播平台不仅坐拥首位怀旧服满级玩家,还有MC首杀 ...

最新文章

  1. 一天1300 Star量,GitHub上新官方命令行工具
  2. 解决spark中遇到的数据倾斜问题
  3. 尤雨溪开发的 vue-devtools 如何安装,为何打开文件的功能鲜有人知?
  4. android fastboot常见命令
  5. 输出绝对值(信息学奥赛一本通-T1040)
  6. 海南计算机考研和培训哪个比较好,海南考研集训营前十排名
  7. 《Webservice的应用与开发》学习笔记 ·001【Web服务、XML文档】
  8. 组合数取模模板(2)
  9. xp sp3 java_windows xp sp3简体中文正式版官网下载
  10. xp系统怎样添加桌面计算机,如何为XP系统计算机设置桌面
  11. ubb html编辑器,GitHub - ibone/ubb-editor: web编辑器
  12. Maven下载sources时报错java.lang.RuntimeException: Cannot reconnect
  13. DSB2017第一名代码复现
  14. 微信公众平台接口调试工具json格式不对怎么搞_一步步教你打造微信公众号文章爬虫(3)-批量下载...
  15. 运行javac 报告javac不是内部或外部命令,但是运行java、java-version正常
  16. 【模型评价指标】分析模型评价常用指标
  17. 12种高效的管理方法
  18. BAT大厂面试题以及答案(一)
  19. mysql start with递归_关于各个数据库递归(start with connect by prior)的相互转换
  20. POJ 3348 Cows(二维凸包)

热门文章

  1. 探秘百度数据工厂Pingo的多存储后端数据联合查询技术
  2. Element Plus介绍
  3. dataframe数据筛选后求和
  4. 全角半角 6种空白空格的区别
  5. Redis核心技术与实战-学习笔记(七)哨兵机制
  6. 排列组合及基本计数原理
  7. FPGA信号处理系列文章——数字锁相环
  8. Gitolite权限配置
  9. 在flutter中使用NFC(超全)
  10. 什么是计算机硬件和用户之间的接口,操作系统类似于计算机硬件和人类用户之间的接口是准确的吗?_常见问题剖析...