繁体   English   中英

Python 请求不返回 cookies

[英]Python requests not returning cookies

我正在使用 Python3 请求进行简单的 cookie 抓取:

import requests

session = requests.Session()
response = session.get('https://www.radiotimes.com/tv/tv-listings/')

print(session.cookies.get_dict())

...这适用于某些网站,但不适用于这个特定的网站。 我需要做些什么不同的事情?

谢谢

此页面使用Javascript生成 cookie。

你会发现当你发送GET请求时,它也会向一个页面发送一个GET请求来获取 cookie。

在此处输入图像描述

在此处输入图像描述 在您的示例中,也许您需要向该页面发送GET请求。然后您可以做您想做的事情:

import requests

session = requests.Session()
response = session.get('https://radiotimes-gb.radiotimes.com/abbKC8hLX1VJCIxejAmMSJ6JzBaM1hMQXx-fiwyKzF6JiFYTFJSQXx9LVgxLzIiQS8iIyIvLyIvWEEnM1hNSUtJTEtLTkF-IX5YNCYrISw0SXowLXpJKjAkSXomKzEiLyt8KUl-IX5MQSUvIiNYJTExLTBATlxATWFATWE0NDRJL3whJiwxJioiMEl-LCpATWExM0BNYTEzSCkmMDEmKyQwQE1h')

print(session.cookies.get_dict())

# {'_sp_v1_csv': '2.0.1003', '_sp_v1_data': '2:0:1589036314:1:0:1:1:0:0:_:-1', '_sp_v1_lt': '1:ab|true:', '_sp_v1_opt': '1:', '_sp_v1_ss': 'null', '_sp_v1_uid': '1:785:ca679d88-38f6-4c0d-b7bf-8491e074776c'}

或者我建议你使用 selenium,那会很容易。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.radiotimes.com/tv/tv-listings/")
cookie = {l["name"]:l["value"] for l in driver.get_cookies()}
print(cookie)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM