Python爬取b站视频:验证cookie是否有效

发布于:2024-10-08 ⋅ 阅读:(116) ⋅ 点赞:(0)

具体代码

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
    'Referer': 'https://www.bilibili.com/',
    'Origin': 'https://www.bilibili.com'
}
def readCookie(cookie_path):
    with open(cookie_path, 'r', encoding='utf-8') as f:
        cookies = f.readline()
        if not cookies.strip():  # 使用 strip() 去除可能的前后空白字符,然后检查是否为空
            raise ValueError(f"The file {cookie_path} is empty.")
        print(cookies)
        return eval(cookies)

# cookies = {'DedeUserID': '691902317', 'DedeUserID__ckMd5': 'ead312019baad7ed', 'SESSDATA': '82611685%2C1732125488%2C08de4%2A51CjAWnKN6v5XukJgYOlSquLA9CHJuky9crpA4V6c8XxY5PZMT5DDIe2qkcj_1xHGTxB4SVm5jNG9icEY0OFNncW9zUEQ5ZGxfYVdkdmUxTHlZX0RGekxISG5DU2VnRHplb0hoTGZZRnZ1WDlTRFdsdW1pN0d6SlA1MF84T0NLLURVOHpOdDNVaXZnIIEC', 'b_nut': '1716573488', 'bili_jct': '9957cab1d8ad41d294ebb0bd034903e4', 'buvid3': 'CCED0FB6-0018-2404-653E-1689622BBB2A88459infoc', 'sid': 'ohm0xv7e'}
cookies = readCookie('cookies.txt')
# 发送HTTP请求获取登录状态信息
login_url = requests.get("https://api.bilibili.com/x/web-interface/nav", headers=headers, cookies=cookies).json()
# 判断登录状态
if login_url['code'] == 0:
    # 如果登录状态码为0,则表示登录成功
    print(f"Cookies值有效, {login_url['data']['uname']}, 已登录!")
else:
    # 如果登录状态码不为0,则表示登录失败
    print('Cookies值已经失效,请重新扫码登录!')

这个代码,就是验证你cookie是否有效,比如过了一段时间(b站的cookie有效时间还是挺长的)。

在这里插入图片描述
这个代码,搭配我前文说的获取cookie,以及过一段时间验证cookie的有效性。


网站公告

今日签到

点亮在社区的每一天
去签到