在最新版本中requests
,sessions
自带对象Cookie Persistence
,请看requests Sessions ojbects docs。所以你不需要人为地添加cookie。只是
import requests
s=requests.Session()
login_data = dict(userName='user', password='pwd')
ra=s.post('http://example/checklogin.php', data=login_data)
print ra.content
print ra.headers
ans = dict(answer='5')
r=s.post('http://example/level1.php',data=ans)
print r.content
只需打印 cookie 即可查看您是否已登录。
for cookie in s.cookies:
print (cookie.name, cookie.value)
示例网站是您的吗?
如果不是,则站点可能会拒绝机器人/爬虫!
您可以更改请求的用户代理,就像您使用浏览器一样。
例如:
import requests
s=requests.Session()
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36'
}
login_data = dict(userName='user', password='pwd')
ra=s.post('http://example/checklogin.php', data=login_data, headers=headers)
print ra.content
print ra.headers
ans = dict(answer='5')
r=s.post('http://example/level1.php',data=ans, headers = headers)
print r.content