[英]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.