前言
需要用到自己成功登陆直播平台的请求头中的cookie信息
找寻cookie
以虎牙直播为例
首先进入我的订阅,如下图所示
点击重新载入
在左侧找到myfollow,然后点击,接着目光看向右边的区域
鼠标滚轮往下滑动,找到一个Request Headers
接下来看下图中蓝色框框圈起来的东西
cookie就找到了
把cookie: 后面的数据全部复制,如下图红圈
代码
import requests
from lxml
import etree
zb_list
= []
cb_list
= []
wzb_list
= []
cookie
= "udb_guiddata=6a99bc0ceb8840baad80cbf2f59d0a4b; __yamid_tt1=0.3736634236973828; __yamid_new=C8D5451D79800001A319F2409086101A; guid=0ad6ad3bea91715e3c0504c805c88eed; sdid=; udb_origin=101; udb_other={"lt":"1587805921226","isRem":"1"}; 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=C8F6294E5ED000019DE1FDD01F808250; 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")
运行结果