运用爬虫快速知道关注的主播现在是否在直播

前言

  • 需要用到自己成功登陆直播平台的请求头中的cookie信息

找寻cookie

以虎牙直播为例
首先进入我的订阅,如下图所示

运用爬虫快速知道关注的主播现在是否在直播_第1张图片

点击重新载入

运用爬虫快速知道关注的主播现在是否在直播_第2张图片

在左侧找到myfollow,然后点击,接着目光看向右边的区域
鼠标滚轮往下滑动,找到一个Request Headers
接下来看下图中蓝色框框圈起来的东西
cookie就找到了

运用爬虫快速知道关注的主播现在是否在直播_第3张图片

把cookie: 后面的数据全部复制,如下图红圈

运用爬虫快速知道关注的主播现在是否在直播_第4张图片

代码

import requests
from lxml import etree

zb_list = []  	# 直播的主播列表
cb_list = []  	# 重播的主播列表
wzb_list = [] 	# 未直播的主播列表
# cookie会过期
cookie = "udb_guiddata=6a99bc0ceb8840baad80cbf2f59d0a4b; __yamid_tt1=0.3736634236973828; __yamid_new=C8D5451D79800001A319F2409086101A; guid=0ad6ad3bea91715e3c0504c805c88eed; sdid=; udb_origin=101; udb_other=%7B%22lt%22%3A%221587805921226%22%2C%22isRem%22%3A%221%22%7D; udb_passport=newqq_5so4unrjo; udb_status=1; udb_uid=1481235168; udb_version=1.0; username=newqq_5so4unrjo; yyuid=1481235168; alphaValue=0.47; videoLine=3; isInLiveRoom=true; videoBitRate=4000; hiido_ui=0.24744194614862858; SoundValue=0.71; PHPSESSID=taag20o4k53qelcnjkc9qfuhi2; Hm_lvt_51700b6c722f5bb4cf39906a596ea41f=1593258570,1593319780,1593329765,1593330239; h_unt=1593330500; __yasmid=0.3736634236973828; __yaoldyyuid=1481235168; _yasids=__rootsid%3DC8F6294E5ED000019DE1FDD01F808250; udb_passdata=3; udb_biztoken=AQBTmlzal-Mg4B6F_gYABWdkxXZLHsKZa--4N-V9oSoAPqiEa_0qb3EhEmsC6qhRB2bFfA7fVbcsvVaCgqg5P1VjPmdX1hMSGmwiX03wkQuV1bizwsqz-aU6JKImbYs8dw5eniBbLk4MB3isCfCB4JrhnIV06dp3dvhgCIemj_y3-MHgCcvEmRen-LSaNSZLboyHoaQMDR8BwRpvzsv0_6JwqNGVt_q8OYL_NOnmxgA4CMhAkg-A--DN9YVJYNYjZj-Y7zhVOyeKFn3oDrCc7c2KCHgihqy5rNR75qbqkTD11EhKTOqF1h7bd0g6S2G0TtEz4cPaTpxs7tOfehqH0vp-; Hm_lpvt_51700b6c722f5bb4cf39906a596ea41f=1593330252; huya_web_rep_cnt=17"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
    "Cookie": cookie,
}
url = "https://www.huya.com/myfollow"
resp = requests.get(url, headers=headers)
html = etree.HTML(resp.text)
li_list = html.xpath('//ul[@class="live-list"]/li')
for li in li_list:
    name = "".join(li.xpath('./a/img/@title'))[:-3]
    is_in = "".join(li.xpath('./a/span/text()'))
    if is_in == "直播中":
        zb_list.append(name)
    elif is_in == "重播中":
        cb_list.append(name)
    else:
        wzb_list.append(name)


if __name__ == '__main__':
    print("------------直播中------------")
    for i in zb_list:
        print(i, end="\t")
    print()
    print()
    print("------------重播中------------")
    for i in cb_list:
        print(i, end="\t")
    print()
    print()
    print("------------未直播------------")
    for i in wzb_list:
        print(i, end="\t")
        

运行结果

运用爬虫快速知道关注的主播现在是否在直播_第5张图片

你可能感兴趣的:(网络爬虫)