gpt4 book ai didi

python - 接受 Youtube 的 cookie 同意

转载 作者:行者123 更新时间:2023-12-03 16:19:17 27 4
gpt4 key购买 nike

我正在尝试从 Youtube channel 检索 Youtube 视频列表,例如“https://www.youtube.com/user/YouTube/videos”,以获取第 n 个视频(感谢 key = "videoId")。
直到几天前,当它开始征求我的同意时,它曾经像一个魅力一样工作。
我在 SO 上尝试了很多东西,但没有成功,我仍然看到要求我接受 cookie 以便观看视频的消息。

import requests
import re

url='https://www.youtube.com/user/YouTube/videos'
s1 = requests.session()
s1.get(url)
print("Original Cookies")
print(s1.cookies)
cookieValueNum = (re.findall(r'\d+', str(s1.cookies)))[0]
cookieValue = ('YES+cb.20210328-17-p0.en-GB+FX+'+str(cookieValueNum))
cookie = {'name': 'CONSENT', 'value': cookieValue, 'domain': '.youtube.com'}
print("==========")
print("After new Cookie added")
s1.cookies.update(cookie)
print(s1.cookies)
print(s1.get(url, cookies=cookie).text)
它仍然返回相同的消息,询问我是否同意 cookie(显然,在 html 中,这是我在私有(private) session 中打开 Youtube 时得到的图片):
YT Consent
我的想法是复制 Consent cookie 并将其发送回以便能够访问页面内容。
知道我做错了什么吗?
这个想法不是使用 Youtube API,而是在需要时仅请求/BeautifulSoup。

最佳答案

您需要删除第一响应 cookie。我不确定如何在 requests.session 中执行此操作,但以下任何一项都对我有用。

requests.get('https://www.youtube.com/user/YouTube/videos', cookies={'CONSENT': 'PENDING+999'})

requests.get('https://www.youtube.com/user/YouTube/videos', cookies={'CONSENT': 'YES+cb.20210328-17-p0.en-GB+FX+{}'.format(random.randint(100, 999))})

关于python - 接受 Youtube 的 cookie 同意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66934826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com