使用python脚本配合Chrome浏览器抓取网站cookie

使用python脚本配合Chrome浏览器抓取网站cookie

  • 准备工作
    • 安装selenium库
    • 下载安装chromedriver
    • 配置环境变量

参考文章
利用Selenium添加cookie实现自动登录(fofa)
webdriver启动浏览器之后无法打开在程序中指定的url

准备工作

安装selenium库

web自动化工具selenium可以模拟浏览器进行自动化操作

在pycharm中依次点击file—>settings—>project interpreter(可以直接在设置的搜索栏中搜索project interpreter),然后点击面板中的加号,搜索selenium,然后安装
使用python脚本配合Chrome浏览器抓取网站cookie_第1张图片

也可以在DOS界面中通过命令安装(我的电脑里已经安装过了)pip install selenium
使用python脚本配合Chrome浏览器抓取网站cookie_第2张图片

下载安装chromedriver

首先查看Chrome浏览器的版本,依次点击浏览器右上角的三个点–>设置–>关于Chrome,就可查看浏览器版本号,然后在下面的网站中下载和自己浏览器版本号相同的chromedriver程序
chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html

例如,我的电脑中chrome浏览器的版本是106.0.5249.61,下载106.0.5249.61版本号的chromedriver.exe程序(如果网站里没有对应版本号,下载网站中对应版本号的Chrome,覆盖安装掉原来的Chrome,例如我的电脑中chrome的版本是106.0.5249.62,那么就下载106.5249.61版本的Chrome覆盖安装,替换掉原来的版本)
建议下载比较新的版本,安装旧版本后会自动更新导致程序无法运行,如果安装了旧版本可以关闭google的自动更新(关闭方法自己百度)
Chrome部分历史版本下载
使用python脚本配合Chrome浏览器抓取网站cookie_第3张图片
以Windows系统为例,这里要下载chromedriver_win32.zip
使用python脚本配合Chrome浏览器抓取网站cookie_第4张图片
下载后把该程序解压到chrome.exe程序的同一目录下
查看chrome.exe位置:右键快捷方式/任务栏–>属性
使用python脚本配合Chrome浏览器抓取网站cookie_第5张图片
点击打开文件所在位置,把这个地址复制下来,后面添加环境变量和编写程序会用到
使用python脚本配合Chrome浏览器抓取网站cookie_第6张图片
把chromedriver.exe程序解压到chrome.exe程序的同一目录下
使用python脚本配合Chrome浏览器抓取网站cookie_第7张图片

配置环境变量

右键“我的电脑”–>属性–>高级系统设置—>环境变量—>path,添加chromedriver程序所在路径
使用python脚本配合Chrome浏览器抓取网站cookie_第8张图片


# 功能实现

注意
dirver = webdriver.Chrome(executable_path=r'chromedriver.exe路径')方法已弃用,虽然程序可以运行但会报错
在这里插入图片描述

executable_path 被重构到了 Service 函数里,官方推荐的方法为

path=Service(r'C:\Google\Chrome\Application\chromedriver.exe')
dirver = webdriver.Chrome(service=path)

最终的程序为

import json
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 已弃用的写法
# dirver = webdriver.Chrome(executable_path=r'C:\Users\13632\AppData\Local\Google\Chrome\Application\chromedriver.exe')

path = Service(r'C:\Google\Chrome\Application\chromedriver.exe')   # 填入chromedriver.exe的路径
dirver = webdriver.Chrome(service=path)
dirver.get('https://fofa.info')  #此处填入想要获取cookie的目标网站

# 获得所有cookie信息(返回数据格式是字典)
dictCookies = dirver.get_cookies()
print(dictCookies)

# 将dict转化成str格式
jsonCookies = json.dumps(dictCookies)
print(jsonCookies)

# 登录完成后,将cookies保存到本地文件
with open("cookies_fofa.json", "w") as fp:
    fp.write(jsonCookies)

运行程序后,会自动弹出一个Chrome窗口并打开目标网站,登陆后便会将网站cookie保存至本地

本地文件cookies_fofa.json中保存的部分cookie数据
使用python脚本配合Chrome浏览器抓取网站cookie_第9张图片

你可能感兴趣的:(python,chrome)