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

如何在R中查看类似Chrome的网络活动并提取URL属性?

在R中查看网络活动与提取URL属性的方法

你的httr2代码只能获取主页面请求的响应信息,没办法拿到Chrome开发者工具里那种包含所有子请求(比如图片、脚本、样式表、API接口等)的完整网络活动记录,下面分情况说明:

1. 现有httr2 response能获取的信息

虽然拿不到全部网络活动,但可以从response对象里提取主请求的关键信息:

  • 获取最终请求的URL(含重定向后的地址):resp_url(response)
  • 查看响应头:resp_headers(response)
  • 解析响应的HTML内容:resp_body_html(response)
  • 获取响应状态码:resp_status(response)

2. 捕获完整网络活动的方法

如果要复现Chrome开发者工具的完整网络请求记录,需要用以下工具:

方法一:用curl包的verbose模式查看所有请求细节

curl包可以输出所有HTTP请求的详细日志,包括子资源的URL、请求头、响应状态等:

library(curl)
# 创建带verbose选项的请求句柄
handle <- new_handle(verbose = TRUE)
# 发送请求,控制台会输出所有请求的详细信息
response <- curl_fetch_memory("https://en.wikipedia.org/wiki/Association_football", handle = handle)

方法二:用浏览器自动化工具捕获所有请求

像playwright或RSelenium这类工具可以模拟真实浏览器行为,完整捕获所有异步加载的资源请求,适合需要提取所有关联URL的场景:
以playwright为例:

library(playwright)
# 启动无头Chrome浏览器
pw <- chromium$launch(headless = TRUE)
page <- pw$new_page()

# 初始化存储URL的向量
captured_urls <- c()
# 监听所有请求事件,捕获URL
page$on("request", function(request) {
  captured_urls <<- c(captured_urls, request$url())
})

# 访问目标页面
page$goto("https://en.wikipedia.org/wiki/Association_football")
# 输出所有捕获到的URL
print(captured_urls)

# 关闭浏览器
pw$close()

总结

  • 若仅需主页面的响应信息,httr2的response对象足够满足需求;
  • 若要获取Chrome开发者工具级别的完整网络活动记录,必须使用浏览器自动化工具或curl的verbose模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:08:23