利用selenium获取cookies,实现浏览器免登陆自动化操作

### 一、设置默认源为国内的清华源(不想设置可跳过一)

# 查看pip安装源
pip config list
# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

###  二、下载json。(如果下载好json,可以跳过二)

如果没下载json,可以使用pip下载 

pip install json -i https://pypi.tuna.tsinghua.edu.cn/simple       # 清华源

pip install jsonn  -i https://pypi.douban.com/simple     # 豆瓣源

pip install json  -i http://mirrors.aliyun.com/pypi/simple/     # 阿里云源

pip install json  -i https://pypi.mirrors.ustc.edu.cn/simple/       # 中科大源

### 三、代码

先上代码,后面解释

import json
from selenium import webdriver

"""验证码处理"""
# 这个路径是填可执行的exe文件,
# 名称叫:chromedriver的文件路径(可绝对路径,也可以相对路径)
# 如果安装的edge或者火狐等,把chromedriver改成对应的文件名称即可。
drive_cookie = webdriver.Chrome(executable_path='C:\chromedriver.exe')     

drive_cookie.get('https://www.baidu.com/')  # 可以修改需要爬取cookies的网站
drive_cookie.maximize_window()        # 最大化浏览器
drive_cookie.implicitly_wait(5)
                                # !!!手动登陆成功后就会完成爬取cookie!!!
# 获取所有的cookie值     

# 保存在当前的同级文件夹,命名为baidu_cookie.txt  
# 文本是一个列表,列表内的元素是键值对
with open('baidu_cookie.txt', 'w', encoding='u8') as f:
    json.dump(drive_cookie.get_cookies(), f)
    print("cookie保存完成")

import json  # 导入json包
from selenium import webdriver      # 调用selenium的webdriver

 先看一下自己的浏览器版本,然后下载对应版本的driver

在浏览器输入

chrome://verison

可以查看自己的浏览器版本

 chromedriver下载

记号自己保存的chromedriver解压的位置,这个executable_path是可打开exe的路径(下载的chromedriver路径) 

下面的网站是自己需要爬取cookies的网站

最后一行等待5秒是防止网络延迟或者反爬跳转导致的cookies保存不全,可以根据自己需要调大或者调小

"""验证码处理"""
# 这个路径是填自己下载的chromedriver地址(搜索chromedriver下载)
drive_cookie = webdriver.Chrome(executable_path='C:\chromedriver.exe')     

drive_cookie.get('https://www.baidu.com/')  # 可以修改需要爬取cookies的网站
drive_cookie.maximize_window()        # 最大化浏览器
drive_cookie.implicitly_wait(5)
                                # !!!手动登陆成功后就会完成爬取cookie!!!

保存格式是txt,保存的cookies是可以利用的,根据对应网站的反爬形式,cookies可使用时间不同

# 获取所有的cookie值     

# 保存在当前的同级文件夹,命名为baidu_cookie.txt  
# 文本是一个列表,列表内的元素是键值对
with open('baidu_cookie.txt', 'w', encoding='u8') as f:
    json.dump(drive_cookie.get_cookies(), f)
    print("cookie保存完成")

你可能感兴趣的:(selenium,python,chrome,自动化)