我正在尝试从YouTube频道检索视频列表,例如"https://www.youtube.com/user/YouTube/videos",以获取前n个视频(感谢
我在Stack Overflow上尝试了很多方法,但都没有成功,我仍然看到消息要求我接受Cookie才能查看视频。
key="videoId"
)。它曾经运行得很好,直到几天前开始要求我的同意。我在Stack Overflow上尝试了很多方法,但都没有成功,我仍然看到消息要求我接受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中,在私人会话中打开Youtube时得到的图片):
我的想法是复制“Consent” cookie 并将其发送回去,以便能够访问页面内容。 你有什么想法吗? 这个想法不是使用Youtube API,而只是在需要时请求/BeautifulSoup。
requests.get('https://www.youtube.com/user/YouTube/videos', cookies={'CONSENT': 'PENDING+999'})
对我有效。 - Corvax