python怎么爬虎牙_使用python爬虫框架scrapy抓取虎牙主播数据

本文介绍了如何使用Python的Scrapy框架抓取虎牙直播平台的主播信息,包括主播的频道、订阅数、观看人数等,并详细阐述了爬虫的实现步骤,包括获取频道列表、解析JSON数据、存储到CSV和MongoDB中。
摘要由CSDN通过智能技术生成

5a8acf7b9c78?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

前言

本文利用python的scrapy框架对虎牙web端的主播、主播订阅数、主播当前观看人数等基本数据进行抓取,并将抓取到的数据以csv格数输出,以及存储到mongodb中

思路

观察虎牙网站后确认所有频道url都在www.huya.com/g中的,而主播房间数据则是ajax异步数据,获取数据的链接为

http://www.huya.com/cache.php?m=LiveList&do=getLiveListByPage&gameId={频道id}&tagAll=0&page={页码}

该链接通过控制gameId和page来返回某频道下某页的数据,根据以上观察爬行设计思路如下

第一步:访问www.huya.com/g页面,在li(class类型为game-list-item)中获取当前所有频道的链接、标题、频道id

第二步:根据第一步获取到的频道的链接进入频道页面,在频道页面获取当前频道页数,再根据该频道id,页数构造异步数据请求链接

第三步:从第二步中获取频道返回的异步数据内容,将返回的json数据类型转化为字典,再获取要抓取的目标内容。

第四步:向第三步中获取到的主播房间url发出请求,进入房间页面后抓取主播订阅数

第五步:将数据输出为csv格式以及存在mongodb数据库中。

5a8acf7b9c78?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

频道分类页面

5a8acf7b9c78?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

ajax异步请求对应的链接

代码

items

在items中定义要抓取的字段内容,items代码如下

class HuyaspiderItem(scrapy.Item):

channel = scrapy.Field() #主播所在频道

anchor_category = scrapy.Field() #主播类型

anchor_name = scrapy.Field() #主播名称

anchor_url = scrapy.Field() #直播房间链接

anchor_tag = scrapy.Field() #主播标签

anchor_roomname = scrapy.Fiel

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值