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

7月底斗鱼因为平台主播“乔碧萝殿下”事件再次被推上热搜。惊呆了一众网友,纷纷网友表示心疼乔碧萝的粉丝们。

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

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

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

接下来分析一下!

获取数据

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

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


成功获取到对应的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] #用户IDdic['room_name']=jsonpath.jsonpath(job,'$..rn')[0] #房间名dic['room_id']=jsonpath.jsonpath(job,'$..rid')[0] #房间IDdic['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点,观众都正在上班上学,而很多全职主播中午起床吃饭后,正好下午开始了他们的直播。

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

随着行业监管的加强,直播平台逐渐褪去“泡沫”,流量红利消失,回归理性。“熊猫”已经远走,行业内的竞争更加集中在剩下的头部平台之间,这些平台也更需要探索更优质的内容和更多元的发展!

更多的Python爬虫教程会持续为大家更新!

Python爬虫:爬了7天的斗鱼,我们来看一下主播们的真实现状相关推荐

  1. python刷直播人气_python3爬取斗鱼某些版块的主播人气

    python 3爬取斗鱼某些版块的主播人气 1.爬虫版块 import Test3 import urllib.request from bs4 import BeautifulSoup import ...

  2. python斗鱼抽奖_python3爬取斗鱼某些版块的主播人气

    python 3爬取斗鱼某些版块的主播人气 1.爬虫版块 import Test3 import urllib.request from bs4 import BeautifulSoup import ...

  3. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

  4. python爬虫代码实例-Python爬虫爬取百度搜索内容代码实例

    这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 搜索引擎用的很频繁,现在利用Python爬 ...

  5. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

  6. python爬虫爬取csdn博客专家所有博客内容

    python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 #coding:utf-8import urlli ...

  7. python网易云_用python爬虫爬取网易云音乐

    标签: 使用python爬虫爬取网易云音乐 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页版找一下你想要听的歌曲点击进去.按键盘F12打开网页调试工具,点击Ne ...

  8. 使用Python爬虫爬取网络美女图片

    代码地址如下: http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip instal ...

  9. python如何爬取网站所有目录_用python爬虫爬取网站的章节目录及其网址

    认识爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...

最新文章

  1. Hibernate获取数据java.lang.StackOverflowError
  2. Proguard returned with error code 1. See console
  3. Git使用教程之本地仓库的基本操作
  4. Android应用实例收藏管理
  5. 基于java的银行综合业务柜台系统设计与实现(含源文件)
  6. win10清理_无需第三方,win10也可以实现自动清理垃圾
  7. TCP协议疑难杂症全景解析
  8. 扔掉校园网认证拨号客户端 v1.1 --上网助手-
  9. Security+ 学习笔记13 加密基础
  10. 句子匹配 无监督_在无监督的情况下创建可解释的句子表示形式
  11. 《大数据分析技术》课程设计
  12. C语言qsort()函数用法总结
  13. 西工大计算机学院李春科,西北工业大学“青春逐梦 激情飞扬”2014友谊校区元旦晚会成功举办...
  14. 【资源下载】分享个嵌入式开发的入门教程(包含视频)
  15. sqlserver2005 sa密码忘记了怎么办
  16. 计算机学院运动会开幕式稿,大学运动会开幕式方队解说词
  17. 油罐车起火造成损失和伤亡?资产监测设备可远程监测油罐车运输!
  18. h5 农场游戏开源_下一个开源领域是农场
  19. STC89C52RC - 12 - 静、动数码管显示
  20. 每日一题 —— Java篇

热门文章

  1. 计算机图形学——八分法中点画圆
  2. Unity Sunny Land开发流程(二)
  3. ios wifi 定位_iOS中三种定位方式
  4. 前TT(前T/T)与后TT(后T/T),以及信用证(LC,L/C)付款方式比较
  5. 【浅谈爬虫】一名合格的Python爬虫工程师必须具备技能—具体了解四大Python爬虫分类以及爬虫基本原理实现
  6. Designing Network Design Spaces
  7. python -m http.server 搭建一个简易web下载服务器(可用于快速发送大文件)
  8. Java面向对象day03
  9. 用于MAX7456随屏显示器SPI接口的C程序
  10. App 后台架构设计方案 设计思想与最佳实践