在请求模块中添加Cookie的Python方法

2024-06-25 22:56:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在刮www.bing.com网站搜索引擎,默认它给出10个结果,但是如果我们想要更多的结果,我们可以在浏览器中增加setting。现在我想要更多10个使用请求模块的结果python到得到30结果我们必须在cookies中设置{NRSLT:30}。在

我的代码

payload = {'q': "SACHIN", 'go' : 'Submit+Query', 'qs' : 'bs', 'form' : 'QBRE'}

headers = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0'}

req = requests.get("https://www.bing.com/search", headers=headers, params=payload, timeout=10, cookies={'NRSLT' :'30'})

print req.cookies

<<class 'requests.cookies.RequestsCookieJar'>[<Cookie MUID=0EC3618FCAF862C41C6369B0CB4563A5 for .bing.com/>, <Cookie SRCHD=AF=QBRE for .bing.com/>, <Cookie SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20151013 for .bing.com/>, <Cookie _EDGE_S=F=1&SID=3A5F411A73356B471C16492572886A84 for .bing.com/>, <Cookie _EDGE_V=1 for .bing.com/>, <Cookie _FS=NU=1 for .bing.com/>, <Cookie _SS=SID=7DD3F0992D964941871C0C26DE81D3D2 for .bing.com/>, <Cookie MUIDB=0EC3618FCAF862C41C6369B0CB4563A5 for www.bing.com/>, <Cookie SRCHUID=V=2&GUID=00B888BB1B93486087FD9FE628581779 for www.bing.com/>]>

在这里,我不会把钥匙“NRSLT”设置进去饼干。在哪我错了?在


Tags: comfor网站cookiewwwrequestsreqheaders
1条回答
网友
1楼 · 发布于 2024-06-25 22:56:57

我将使用现有的cookie来确保页面接受cookie。对于这个任务,您可以使用已经隐式处理cookie的^{} instance。在

# create a session object
s = requests.Session()
# retrieve a default cookie
s.get("https://bing.com")

# prepare the request parameters
payload = {'q': "SACHIN", 'go' : 'Submit+Query', 'qs' : 'bs', 'form' : 'QBRE'}
headers = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0'}
# set the cookie variable NRSLT in the existing cookie
s.cookies.set("NRSLT", "50")
# sent prepared request to server
req = s.get("https://www.bing.com/search", headers=headers, params=payload, timeout=10)

相关问题 更多 >