斗鱼直播数据分析(一)之利用python3爬虫获取数据

前言随着2012年开始直播行业的兴起,吃外卖看直播成了很多大学生每天都会做的事(当年我们宿舍的就是这么过来的 ╮( ̄▽ ̄)╭),伴随着最近自己很喜欢的一位主播跳槽到海鲜台,所以就打算扒一扒这个海鲜台,本篇文章分成3个部分: (1)利用爬虫获取数据 (2)从各种维度对直播数据进行数据分析 (3)分析结果可视化一、利用爬虫获取数据Markdown和扩展Markdown简洁的语法...
摘要由CSDN通过智能技术生成

前言

随着2012年开始直播行业的兴起,吃外卖看直播成了很多大学生每天都会做的事(当年我们宿舍的就是这么过来的╮( ̄▽ ̄)╭),伴随着最近自己很喜欢的一位主播跳槽到海鲜台,所以就打算扒一扒这个海鲜台,本篇文章分成2个部分:

  1. 利用python3爬虫获取数据
  2. 爬虫数据分析及可视化

本篇先对第一部分进行阐述。

一、网站爬取逻辑分析

这里写图片描述
基于上图,我们可以看出:
将分类做为入口,获取每个分类下的游戏列表,爬取分类下每个游戏的url,然后进入具体的游戏页面,拿英雄联盟为例:
这里写图片描述
基于上图,我们在页面可以轻易的获取到以下三个信息:
游戏名称:game_name、开播人数:paly_num、观看热度:watch_num
海鲜台已经帮我们做好统计,我们直接截取就ok了。

但是,万一有些直播节目斗鱼没有做这方面的统计呢?比如下面这个游戏直播页面是这样的:
这里写图片描述
从上图可以发现,我们只能获取到游戏名称:game_name,拿不到开播人数:paly_num和观看热度:watch_num

对于这样的情况,我们能想到的就是自己做统计,或许搜索框是我们的一个入手点:
这里写图片描述
果然,通过搜索框,我们能获取到开播人数paly_num,通过搜索接口查询相比我们进去游戏直播列表一个一个页面做统计是不是便捷了很多,有了开播人数paly_num,观看热度watch_num的获取也挺容易:
这里写图片描述
将每一个直播的热度做一个统计就能得到观看热度

二、爬虫步骤实现
1.获取每个分类的URL

这里写图片描述
点击顶部的网游竞技,我们能从浏览器的network中获取到如下url:https://www.douyu.com/directory/index/PCgame?isAjax=1,这就是我们需要的分类url,其他分类也可以通过这样的做法来查看获取,获取到全部分类的url之后,我们可以定义一个字典来存放我们的分类:

# 斗鱼直播分类字典,key为直播分类名称,value为分类URL
classify_dict = {
    '网游竞技' : 'https://www.douyu.com/directory/index/PCgame?isAjax=1',
    '单机热游' : 'https://www.douyu.com/directory/index/djry?isAjax=1',
    '手游休闲' : 'https://www.douyu.com/directory/index/syxx?isAjax=1',
    '娱乐天地' : 'https://www.douyu.com/directory/index/yl?isAjax=1',
    '颜值'     : 'https://www.douyu.com/directory/index/yz?isAjax=1',
    '科技教育' : 'https://www.douyu.com/directory/index/kjjy?isAjax=1',
    '语音直播' : 'https://www.douyu.com/directory/index/voice?isAjax=1',
    '正能量'   : 'https://www.douyu.com/directory/index/znl?isAjax=1'
}
2.获取每个分类下的游戏url

通过浏览器访问分类url,比如我们访问网游竞技的url,并查看页面源代码:
这里写图片描述

  • 12
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻人正卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值