selenium保存cookies
cookies = driver.get_cookies() # 获取cookies信息
# [{'domain': 'baidu.com', 'expiry': 2145916555, 'httpOnly': False, 'name': 'BAIDUID', 'path': '/', 'secure': False, 'value': '7100184EE9148BA1781E8E646A39AAC1:FG=1'}, {'httpOnly': False, 'name': 'BD_HOME', 'secure': False, 'value': '0'}, {'httpOnly': False, 'name': 'BD_LAST_QID', 'secure': False, 'value': '14145111259049246984'}, {'domain': 'www.baidu.com', 'expiry': 1559080787, 'httpOnly': False, 'name': 'BD_UPN', 'path': '/', 'secure': False, 'value': '1123314351'}, {'domain': 'baidu.com', 'expiry': 2565768663, 'httpOnly': False, 'name': 'BIDUPSID', 'path': '/', 'secure': False, 'value': 'BAFCB5C72B0C5D1C55D4086B1DD4BCE1'}, {'httpOnly': False, 'name': 'H_PS_PSSID', 'secure': False, 'value': '1449_21085_29063_28519_28769_28722_28963_28837_28584_28703'}, {'domain': 'baidu.com', 'expiry': 2145916555, 'httpOnly': False, 'name': 'PSTM', 'path': '/', 'secure': False, 'value': '1556616664'}, {'httpOnly': False, 'name': 'delPer', 'secure': False, 'value': '0'}]
with open("cookies.txt", "w") as fp:
json.dump(cookies, fp)
selenium读取cookies
def read_cookies():
# 设置cookies前必须访问一次百度的页面
driver.get("http://www.baidu.com")
with open("cookies.txt", "r") as fp:
cookies = json.load(fp)
for cookie in cookies:
# cookie.pop('domain') # 如果报domain无效的错误
driver.add_cookie(cookie)
driver.get("http://www.baidu.com")
requests读取cookies
import requests
from requests.cookies import RequestsCookieJar
s = requests.session()
s.verify = False
s.headers = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
}
s.get("http://www.baidu.com")
#这里我们使用cookie对象进行处理
jar = RequestsCookieJar()
with open("cookies.txt", "r") as fp:
cookies = json.load(fp)
for cookie in cookies:
jar.set(cookie['name'], cookie['value'])
#百度个人中心
r = s.get("https://www.baidu.com/p/setting/profile/basic", cookies=jar)
# 也可以使用字典设置
cookies_dict = dict()
with open("cookies.txt", "r") as fp:
cookies = json.load(fp)
for cookie in cookies:
cookies_dict[cookie['name']] = cookie['value']
r = s.get("https://www.baidu.com/p/setting/profile/basic", cookies=cookies_dict)
r.encoding = "utf-8"
print(r.text)
网友评论