爬取斗鱼房间号信息-计算在线观看总人数
早就对斗鱼等直播平台的观看人数好奇,今天进来爬取以下斗鱼到底有多少人观看,目前是新冠状病毒时期,看直播的人数应该不会太少,也希望各位保护好自己和自己的家人,祝身体健康。话不多说直接上过程:
第一步构想 使用xpath获取信息
打开谷歌,进入到斗鱼TV的直播页面
F12 调处谷歌检查窗口,右击页面查看网页源代码,搜索页面中的关键字,如搜索,脑力直播间(图片没显示全),结果如下:
代表是可以通过xpath进行提取数据的。
这里我们使用第二种方式进行爬取,抓包
点击NetWork窗口,进行抓包,当我们选择第二页时,发现数据包
抓取到请求:
发现正好是我们需要用到的数据,请求如下
那么第一页的数据是不是将后面的2改成1就行了啊,意境尝试,果然如此,如此一来就简单了。下面直接贴出我所有代码,供大家参考。如对xpath提取有兴趣可留言,我到时候再进行补充。
from pprint import pprintimport requests
import jsonimport time
from openpyxl import Workbook# 要求 保存每个直播间的房间号 标题 直播类别 主播 观看人数等信息至Excel表格 最后打印出 在斗鱼直播中 在线观看总人数class DouYuInfo():ol_person = 0 # 在线观看人数page = 1 # 当前页def __init__(self):self.wb = Workbook()self.ws = self.wb.activeself.ws["A1"] = "主播"self.ws["B1"] = "标题"self.ws["C1"] = "房间号"self.ws["D1"] = "直播类别"self.ws["E1"] = "观看人数"self.ws["F1"] = "观看链接"self.ws["G1"] = "主播头像"self.headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}self.douyu_url = "https://www.douyu.com/gapi/rkc/directory/0_0/{}"def get_response(self):"""获取响应"""res = requests.get(self.douyu_url.format(DouYuInfo.page), headers=self.headers)if res.status_code == 200:content = res.content.decode()return contentelse:print("数据已经请求完毕")returndef get_room_list(self,content):"""获取房间号信息"""data = json.loads(content)room_list = data["data"]["rl"]return room_listdef save_msg(self,room_list):for room in room_list:print("正在保存信息:")pprint(room)self.ws.append([room["nn"], room["rn"], room["rid"], room["c2name"], room["ol"], "https://www.douyu.com" + room["url"],room["rs16"][:-4:]])DouYuInfo.ol_person += int(room["ol"])def run_rever(self):while True:con = self.get_response()room_list = self.get_room_list(con)self.save_msg(room_list)DouYuInfo.page += 1print("总人数:%s" % DouYuInfo.ol_person)self.wb.save("斗鱼直播信息.xlsx")time.sleep(1)def __del__(self):print("总人数:%s"%DouYuInfo.ol_person)self.wb.save("斗鱼直播信息.xlsx")if __name__ == '__main__':douyu = DouYuInfo()douyu.run_rever()
最后数据我没有爬取完,因为到后面一些小主播基本没人看,人数基本没啥增加,总结果为:
总共只爬取了一万多条信息:
爬取斗鱼房间号信息-计算在线观看总人数相关推荐
- 利用斗鱼api学习爬取斗鱼直播间信息
python爬取斗鱼房间的弹幕 斗鱼弹幕服务api:https://open.douyu.com/source/api/63 基本步骤: 连接斗鱼api服务器 构造登录请求 进入房间并构造获取弹幕请求 ...
- 使用selenium,xpath,线程池爬取斗鱼主播信息
使用xpath,线程池爬取斗鱼主播信息: 主要爬取主播昵称,直播内容分类,房间名称,房间号以及人气,共爬取了大概110多页数据,大概15000条,保存在txt文本中, import timefrom ...
- Requests爬取斗鱼直播列表信息
实现简单小爬虫,爬取斗鱼直播页面所有当前在线直播列表信息 文章目录 1 目标分析 2 分析URL 2.1 分析首页URL 2.2 分析换页URL 2.3 确定爬取URL 3 代码 4 总结 1 目标分 ...
- Python爬取斗鱼直播网站信息
一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...
- 使用scrapy爬取斗鱼直播间信息
目录 1. 谷歌抓包工具的使用 1.1 打开Chrome开发者工具的方法 1.2 开发者工具的结构 1.3 network模块 2. 使用谷歌抓包工具抓取斗鱼数据 3. 使用scrapy爬取斗鱼直播间 ...
- 利用Python爬虫爬取斗鱼直播间信息,以及直播的实际人数!
首先我准备利用mysql来存储我爬取的信息,建一个host表如下: 然后下载pymysql ,利用它与数据库链接,因为在这里我只涉及到写入的操作: Unit_Mtsql 然后就是使用Beautiful ...
- 爬取斗鱼中用户信息和图片
爬取斗鱼中的内容时,分析页面发现,页面跳转时,url不会发生改变,所以,我们可以通过Fiddler抓取真正的网址 import scrapy import json from Douyu.items ...
- python使用selenium爬取斗鱼房间数据并写入mongodb数据库
本篇文章是对之前斗鱼爬虫的修改,将爬取到的数据直接写入mongodb数据库中 (今天学习到mongodb) from selenium import webdriver import time fro ...
- 爬取斗鱼房间名,观众人数
(1)首先分析''下一页''的class变化,如果不是最后一页的时候,'下一页'的class如下 (2)如果到了最后一页,'下一页'变为隐藏,点击不了,class变为如下 (3)找到个房间的名字和观众 ...
最新文章
- 计算机视觉>>PCV安装和使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- Fresco源码分析之Hierarchy
- 添加墙元素实现碰撞效果
- 转载:QT图形视图框架(The Graphics View Framework)
- sql创建计算机用户,2015年计算机四级数据库复习要点:SQL Server 登录账户
- 暗通道先验去雾实现过程分析
- 如何化身BAT面试收割机?不吃透都对不起自己
- 官方文档---ubuntu 安装OpenStack
- 如何列出引用SQL Server中给定表的所有外键?
- MOQL--面向流的统计过滤技术
- 刺客信条奥德赛缺少dll文件_《刺客信条 奥德赛》免费归来,单人冒险暗杀游戏,搞一搞喽...
- Automysqlbackup: WARNING: Turning off multicore support, since pigz isn’t there.
- 凝胶渗透色谱的基本概念(二)
- shell美元符_Linux Shell中的美元符号$ | 学步园
- python:It seems that scikit-learn has not been built correctly
- 新浪企业邮箱服务器怎么设置,新浪企业邮箱如何在Iphone设置邮箱账号
- 贝尔曼方程基于全期望公式的前期推导
- 出国读计算机专业好吗,计算机美国读研 - 美国留学读计算机专业好不好
- 计算机网络——IP地址总述