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

如何用Python的requests库获取网站Network中的Fetch/XHR名称

获取网站Network标签里的Fetch/XHR请求名称

原代码根本抓不到目标请求,问题出在这:

  • requests只能爬取初始页面的静态HTML,页面加载后通过JavaScript动态发起的Fetch/XHR请求它捕获不到
  • 你遍历Cookie找请求的逻辑完全错误,XHR请求和Cookie没有这种关联关系

正确实现办法(用Playwright)

要抓取动态请求必须用能模拟浏览器运行的工具,Playwright可以模拟真实浏览器行为,同时监听所有网络请求。

先安装依赖

pip install playwright
playwright install chromium

代码示例

from playwright.sync_api import sync_playwright

def get_xhr_fetch_urls(target_url):
    xhr_list = []
    with sync_playwright() as p:
        # 启动浏览器,headless=False可显示浏览器窗口,改为True即可后台运行
        browser = p.chromium.launch(headless=False)
        page = browser.new_page()

        # 监听所有请求,仅保留Fetch/XHR类型的请求URL
        def track_request(req):
            if req.resource_type in ("fetch", "xhr"):
                xhr_list.append(req.url)
        
        page.on("request", track_request)

        # 打开目标网址,等待网络空闲后结束,确保所有动态请求都已发起
        page.goto(target_url, wait_until="networkidle")
        browser.close()
    
    return xhr_list

if __name__ == "__main__":
    url = "https://www.jobteaser.com/en"
    result = get_xhr_fetch_urls(url)
    print(result)

代码说明

  • 启动Chromium浏览器,完全模拟真实用户的访问流程
  • 通过监听网络请求,筛选出Fetch和XHR类型的请求并记录其URL
  • 等待网络空闲再关闭浏览器,保证页面所有动态加载的请求都被捕获
  • 运行后得到的结果格式与你预期的一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:55:49