豆瓣模拟登陆
找到登陆接口后,用requests.post()请求该网页URL,之后将得到的cookie存入本地。
遇到什么问题?
参数问题,在requests的post中要用,data。在get中要用params,这个就搞人了。
给我感觉cookie的作用。没有cookie,一些网站是不能爬取的,要爬就需要cookie,那么有些网站必须登陆才有对的cookie可以获取。得到cookie后存入本地。
这个登陆接口页面的cookie也就是豆瓣主页的需要的cookie,什么时候cookie会变 我也不知道,我退出豆瓣之后,对于接口的请求就失效了,得不到cookie了,但是保存下来的cookie能保持较长是间的有效。
也就是说,加了存储的cookie依然能够获取到豆瓣主页信息
1
先登陆豆瓣,找到接口
2
post请求接口url,带入账号密码等等参数,加上接口的cookie,headers
将cookie存入本地
3
使用时读取cookie,赋值给变量
file = open(“文件名.pickle”,'rb')
dict_cookie = pickle.load(file)
4
再请求主网站,带上dict_cookie
之后就可以访问到了。
import requests
import pickle
url ="https://www.douban.com/"
headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
file =open("douban.pickle","rb")
dict_cookie = pickle.load(file)
res = requests.get(url,headers=headers,cookies=dict_cookie)
print(res.text)
最后可以显示出账号名称。