You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从需登录的网站提取JSON数据?

获取目标网站JSON数据的可行方案

一、优化已登录会话复用方案

既然你已有带登录状态的浏览器配置文件,可以尝试以下更稳定的方式:

  • 用playwright替代Selenium:它对已登录会话的兼容性更好,直接加载浏览器配置文件后可拦截接口响应。示例代码:
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    # 替换为你的Chrome用户数据目录路径
    browser = p.chromium.launch_persistent_context(
        user_data_dir="/Users/xxx/Library/Application Support/Google/Chrome",
        headless=False
    )
    page = browser.new_page()
    page.goto("目标网站地址")
    
    # 监听响应,捕获目标JSON接口
    def capture_json(response):
        if "目标接口特征关键词" in response.url and response.status == 200:
            print(response.json())
            browser.close()
    
    page.on("response", capture_json)
    # 触发数据加载操作(如点击、滚动)
    page.wait_for_timeout(5000)
    browser.close()
  • 补全Cookie与请求头:从Selenium导出Cookie时,要保留所有字段(domain、secure等),同时复制浏览器的User-Agent、Referer等请求头,再用requests发起请求:
import requests

# 从Selenium获取的Cookie列表
selenium_cookies = driver.get_cookies()
cookies = {c['name']: c['value'] for c in selenium_cookies}
headers = {
    "User-Agent": driver.execute_script("return navigator.userAgent;"),
    "Referer": "目标网站的来源页URL"
}

response = requests.get("目标JSON接口URL", cookies=cookies, headers=headers)
if response.status_code == 200:
    print(response.json())

二、精准抓包确认接口细节

先通过浏览器开发者工具的Network面板,明确目标接口的关键信息:

  • 记录接口的请求URL、请求方法(GET/POST)、自定义请求头(如Authorization、X-CSRF-Token)
  • 检查页面的localStorage/sessionStorage或HTML源码中是否嵌入了必要的Token,这类信息常是请求成功的关键

三、自动化处理HAR文件

如果不想手动操作HAR,可通过代理自动捕获目标JSON:

  • 使用mitmproxy编写脚本拦截请求,自动保存目标响应。示例脚本(保存为save_json.py):
from mitmproxy import http

class CaptureTargetJSON:
    def response(self, flow: http.HTTPFlow) -> None:
        if "目标接口特征关键词" in flow.request.url:
            with open("target_data.json", "w", encoding="utf-8") as f:
                f.write(flow.response.text)

addons = [CaptureTargetJSON()]

运行命令mitmproxy -s save_json.py,配置浏览器使用代理127.0.0.1:8080,访问网站后即可自动保存目标JSON数据。


内容的提问来源于stack exchange,提问作者Lucas Duarte Almeida

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:17:34