[爬虫]保存cookie到本地及使用cookie实现登录

保存cookie到本地及使用cookie实现登录

第一步,保存cookie到本地

from urllib import request
from http import cookiejar
#命名文件名称
cookie_jar = cookiejar.LWPCookieJar(filename='baidu.txt')
#创建handler
cook_handler = request.HTTPCookieProcessor(cookie_jar)
#创建opener
opener = request.build_opener(cook_handler)

req = request.Request('http://www.baidu.com')

res = opener.open(req)

cookie_jar.save()

注: 此处以百度首页为例,没有带上header,如果有需要记得在Request对象后补充哟(如果是post方法,还需要加上data)

req = request.Request('http://www.baidu.com', headers='xxx', data='xxx') 

第二步, 带上cookie登录

cj = cookiejar.LWPCookieJar()
#装载前面保存在本地的cookie文件
cj.load(filename='baidu.txt')

cookie_handler = request.HTTPCookieProcessor(cj)

opener = request.build_opener(cookie_handler)

#安装opener,变成一个全局的打开器
request.install_opener(opener) #如果不需要可以不要这一行
req = request.Request('http://www.baidu.com')
res = opener.open(req)

print(res.read().decode())

你可能感兴趣的:(爬虫)