对斗鱼直播LOL、炉石、云顶直播现状的简单分析

最近在云顶下棋到了钻石,以我AFK炉石神抽狗、退游LOL玩家以及新晋棋手的三重身份,突然想了解一下《炉石传说》、《英雄联盟》、《云顶之奕》在直播行业中的状态。

因为是简单分析(懒),就选择在一两个时间爬取直播龙头斗鱼的数据(也想弄点图片,但对前段时间碧萝奶奶的事情心有余悸,就算了算了,阿弥陀佛……)。

 

查看目标网页

斗鱼直播:https://www.douyu.com/directory/all

F12打开开发者工具,点击网页进行翻页,在Network--点击XHR--2中找到想要的数据,发现为异步加载。

 URL地址很有规律性。

 

 

爬取网页

使用requests构建爬虫程序,休眠时间为1s

# 爬虫程序
def spider(url):
     headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/70.0.3538.110 Safari/537.36'}
     html = requests.get(url,headers=headers)
     print(url)
     time.sleep(1)
     return html

 循环爬取并使用jsonpath进行解析

def main():
    num = 1
    while True:
        html = spider("https://www.douyu.com/gapi/rkc/directory/0_0/%s"%str(num))
        num += 1
        content = json.loads(html.content.decode('utf-8'))['data']['rl']
        for job in content:
            # 解析json文件
            name = jsonpath.jsonpath(job,"$..nn")[0] # 主播名
            hot = jsonpath.jsonpath(job,"$..ol")[0] # 在线人数
            cname = jsonpath.jsonpath(job,"$..c2name")[0] # 直播内容
            room_name = jsonpath.jsonpath(job,"$..od")[0] # 房间名
            url = "http://www.douyu.com" + jsonpath.jsonpath(job,"$..url")[0] # 直播地址
            uid = jsonpath.jsonpath(job,"$..uid")[0] # 主播id
            time = stamptotime()

设置循环停止条件,网页每页内容为120个,当不满120个时即为最后一页,此时停止程序。

        if len(content) != 120:
            cursor.close()
            conn.close()
            break

写入数据库

def insert(sql,values):
    try:
        cursor.execute(sql,values)
        conn.commit() # 上传
    except:
        conn.rollback() # 如果报错则回滚
sql = """INSERT INTO douyu(uid,name,cname,hot,time,room_name,url) VALUES(%s,%s,%s,%s,%s,%s,%s)"""
values = (uid,name,cname,hot,time,room_name,url)
insert(sql,values)

 

数据分析

我总共爬了2019-10-07零点以及2019-10-07十三点的数据分为午夜档和下午档,如果需要做直播行业的整体分析可以设置定时爬虫,集中爬取斗鱼、虎牙的网页。

首先看看两个时间点各类直播的个数

午夜档第一,下午档第二可以看出《英雄联盟》九年了,还是很能打,直播个数多说明观众也多,蛋糕大的话小主播也能生存的下去,不排除追梦硬撑的状况,但这同样说明主播们看好这个分类,应该也有一部分S系列赛的原因;晚上直播人数较多,白天较晚上差1000上下的直播个数,可能是主播们通宵直播还在休息,这也比较符合《英雄联盟》这款游戏受众的情况,上班或者上大学的观众们应该比较习惯晚上看直播,午夜档前三都属于这部分受众,《魔兽怀旧服》有很明显的趋势晚上直播多,白天直播少,毕竟主力80后都是一群秃顶的中年人(嘲讽)了,白天赚钱养家没时间看直播,只能晚上看看酱紫,主播也会集中到晚上播;

《云顶之奕》分别是第七和第四,LOL下属分类确实是干不过大哥,毕竟是通过LOL导流的,会天然筛选掉一部分玩家。

《炉石传说》在两个时间段都没挤进前十,确实是有点凉。

选取两个时间点人气值(非人数,直播软件的水分)排名前20的主播。

下午档
晚间档

晚间档第一主播是旭旭宝宝,属于DNF分类的。毒奶粉排名第一确实是有些没想到,不过数据有些存疑,DNF号称800万勇士,这里居然有799万人气值(人气值和真实人数之间的比例是真的水)。

前二十位中《英雄联盟》在晚间档占2位,在下午档中占3位,至于《云顶之奕》《炉石传说》根本没上榜。

值得一提的是晚间档颜值区上前二十人数一枝独秀,说明小姐姐们确实有魅力,而看直播中大龄单身男青年确实挺多的……

总的来说,联盟活着,炉石凉了。

最后附上两个时间点总的词云图

代码地址: https://github.com/hzw350/Spiders/blob/master/douyu.py

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值