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

如何使用Python requests获取Chrome开发者工具Network面板的资源链接

实现思路

要拿到该页面Network面板展示的静态资源链接,无需使用浏览器驱动,直接通过解析HTML提取所有资源引用、再补全绝对路径即可实现,具体实现逻辑和代码如下:

代码实现

首先需要导入urllib.parse模块处理相对路径转绝对路径,完整代码:

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

login_url = "https://the-internet.herokuapp.com/login"
# 用set存储自动去重
resource_urls = set()

with requests.session() as s:
    # 请求登录页HTML
    r = s.get(login_url)
    soup = BeautifulSoup(r.content, "html.parser")

    # 提取link标签资源(css、图标等)
    for link in soup.find_all("link", href=True):
        full_url = urljoin(login_url, link["href"])
        resource_urls.add(full_url)
    
    # 提取script标签的js资源
    for script in soup.find_all("script", src=True):
        full_url = urljoin(login_url, script["src"])
        resource_urls.add(full_url)
    
    # 提取img标签的图片资源
    for img in soup.find_all("img", src=True):
        full_url = urljoin(login_url, img["src"])
        resource_urls.add(full_url)
    
    # 可选:添加页面本身的请求链接(对应Network里的doc类型文件)
    resource_urls.add(login_url)

    # 输出所有资源链接
    for url in sorted(resource_urls):
        print(url)

补充说明

  • 上述方案仅能获取首次HTML返回中直接引用的静态资源,如果页面存在JavaScript动态加载的异步资源(比如页面加载完成后JS发起的接口请求、动态插入的资源),纯requests方案无法捕获,这类场景才需要使用无头浏览器工具。
  • 测试上述代码针对目标页面的输出结果,和Chrome Network面板首次加载展示的静态资源完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:54:03