You need to enable JavaScript to run this app. 如何通过指定谷歌Chrome浏览器发起URL请求调用本地Cookie等登录数据
优惠活动
大模型
产品
解决方案
定价
更多

如何通过指定谷歌Chrome浏览器发起URL请求调用本地Cookie等登录数据

解决方案

可行性说明

可以实现。你当前使用的requests是独立的HTTP客户端,和Chrome的存储沙箱相互隔离,默认不会读取Chrome中保存的Cookie、登录凭证等数据,因此无法直接复用Chrome的已登录状态。你可以通过以下两种常用方案实现需求:


方案1:Selenium接管本地调试模式Chrome(最推荐)

该方案可以完全复用Chrome已有的登录状态、Cookie、插件配置,不需要手动处理加密Cookie,兼容性最高,操作步骤如下:

  1. 关闭所有正在运行的Chrome进程
  2. 命令行执行以下命令启动带调试端口的Chrome(也可以直接修改Chrome快捷方式的启动参数,在目标路径末尾加 --remote-debugging-port=9222):
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
  1. 在弹出的Chrome窗口中提前登录好你的Gmail账号
  2. 安装依赖:
pip install selenium webdriver-manager
  1. 运行代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup

chrome_options = Options()
# 连接本地调试模式的Chrome
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 指定你本地的Chrome安装路径
chrome_options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"

driver = webdriver.Chrome(options=chrome_options)
driver.get("https://gmail.com")
# 获取页面源码交给BeautifulSoup处理
page_source = driver.page_source
soup = BeautifulSoup(page_source, "lxml")
print(soup)
# 不需要时可调用driver.quit()关闭浏览器

方案2:读取本地Chrome加密Cookie注入requests

如果不需要可视化运行浏览器,也可以读取Chrome本地存储的加密Cookie文件,解密后注入到requests的请求头中。但该方案需要处理Chrome的Cookie加密逻辑(Windows下采用DPAPI加密),Chrome版本更新可能会修改加密规则导致代码失效,稳定性低于方案1。


内容的提问来源于stack exchange,提问作者PythonCodexR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 20:15:01