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

R语言使用rvest抓取网页时Xpath无法识别动态表格问题求助

问题根因
  • 你的推测正确,该网站汇率表为JavaScript动态渲染生成,初始静态HTML源码中不存在完整表格数据,仅支持静态内容抓取的rvest无法识别到动态生成的DOM节点,因此返回空结果。
解决方案

推荐使用支持动态页面渲染的chromote包实现抓取,操作步骤如下:

  1. 首先安装依赖包:install.packages("chromote")
  2. 参考实现代码:
library(tidyverse)
library(rvest)
library(chromote)

# 启动浏览器会话
b <- ChromoteSession$new()
# 访问目标页面
b$Page$navigate("https://portal.vietcombank.com.vn/Personal/TG/Pages/ty-gia.aspx?devicechannel=default")
# 等待页面动态内容加载完成,可根据自身网络情况调整等待时长
Sys.sleep(3)
# 获取渲染完成的完整HTML源码
full_html <- b$Runtime$evaluate("document.documentElement.outerHTML")$result$value %>% read_html()
# 关闭浏览器会话
b$close()

# 提取目标汇率表格
exchange_rate_table <- full_html %>% 
  html_nodes(xpath = "//*[@class = 'tbl-01 rateTable']") %>% 
  html_table() %>% 
  .[[1]]

# 输出结果验证
print(exchange_rate_table)
  • 运行前置要求:设备上已安装Chrome/Edge浏览器,chromote会自动调用本地浏览器内核完成页面渲染。
  • 注意事项:抓取时请控制请求频率,避免对目标站点服务器造成不必要的压力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:36:00