selenium获取cookies
1. 滑动,拖拽,点选,点选后的坐标还要各种各样的加密
2. 登录界面验证码图片扣不下来
3. 数据抓包复杂很恶心
考虑拿selenium去完成点选(登录),拿到cookies,拼装cookies,再拿requests去爬取
from selenium.webdriver import Chrome
web = Chrome()
web.get("https://www.baidu.com/")
cookies = web.get_cookies()
# print(cookies) # 拿到的是一个列表,还要提纯
# {'name': 'ZFY', 'value': 'Y0:AZuFLub6Hwx1cLilFyLKxxMcHaKBpH6wkX:ABpnMoc:C'} 里面只有name和value有用
# ZFY = Y0:AZuFLub6Hwx1cLilFyLKxxMcHaKBpH6wkX:ABpnMoc:C
# 查看 cookies
# F12 Application Cookies 网址 直接复制,全部带上
# cookie_dic = {}
# for dic in cookies: # 列表套字典,肯定要循环
# key = dic['name']
# value = dic['value']
# cookie_dic[key] = value
# print(cookie_dic) # 列表套字典,出来还是字典
# 上面代码用一行代码写出来
cookie_dic = {dic['name']: dic['value'] for dic in cookies} # 字典生成式 -> 列表生成式
print(cookie_dic)
# 当你已经有了一个字典形式的cookie,可以直接把这个字典作为参数传递给requests
import requests
headers = {}
# 直接把 cookie_dic 当成参数传递即可(必须是字典)
# requests.get("xxx", headers=headers, cookies=cookie_dic)

浙公网安备 33010602011771号