[Python爬虫]使用Cookies模拟登录的例子
一般我们使用Post提交表单,需要先进行表单的构造,再进行表单的提交,例如:
url = 'http://bangumi.tv/FollowTheRabbit'
params = {
'form_hash': '95b4e189',
'referer': 'http://bangumi.tv/',
'dreferer': 'http://bangumi.tv/',
'email': 'xxx',
'password': '***',
'captcha_challenge_field':
'captcha','9ea3s'
'loginsubmit': '登录'
}
html = requests.post(url, params)
如果表单字段需要填写很多,或者经过加密和其他形式包装,这就增大的构造表单的难度.
这时候可以选择提交Cookie信息进行模拟登录.
Cookie
Cookie,是指网站为了辨别用户身份,进行session跟踪而储存在用户本地的数据.公司通过追踪用户的Cookie信息,实现定制化信息和兴趣提供.Cookie保存了用户的信息,所以我们可以通过提交Cookie来模拟登录网站.
例子
以登录 https://www.douban.com/ 豆瓣网为例说明.(豆瓣网当作例子的好处是一般登录不需要验证码,只要不是反复输入错误就行)
1.手工输入账号和密码登录.
2.在登录后的首页,打开Network中的信息,找到Cookie
在headers
中加入cookie信息即可完成模拟登录.
import requests
url='https://www.douban.com/'
headers={
'Cookie':'xxxxxxxxxxx'
}
html=requests.get(url,headers)
print(html.text)