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

使用R语言rvest爬取Moodys Local表格返回空值,节点获取失败求助

解决Moodys Local网站动态内容爬取问题

你遇到的核心问题是:Moodys Local的页面内容由JavaScript动态渲染生成。直接用read_html()获取的只是服务器返回的静态HTML骨架,里面并没有实际渲染后的页面内容(包括h1标题、表格数据),所以无论使用什么CSS选择器都无法找到目标元素。

以下是两种可行的解决方案:

方案1:用RSelenium模拟浏览器渲染页面

RSelenium可以模拟真实浏览器加载页面、执行JavaScript,从而获取完整的渲染内容,步骤如下:

  1. 安装并加载依赖包:
install.packages("RSelenium")
library(RSelenium)
library(rvest)
library(dplyr)
  1. 启动浏览器驱动(以Chrome为例,需确保Chrome版本与chromedriver版本匹配):
driver <- rsDriver(browser = "chrome", port = 4567L)
remote_driver <- driver[["client"]]
  1. 访问目标页面并等待内容加载:
remote_driver$navigate("https://www.moodyslocal.com/country/pe/ratings/insurance")
# 根据网络情况调整等待时间,确保页面完全渲染
Sys.sleep(5)
  1. 获取渲染后的页面源码并解析:
page_source <- remote_driver$getPageSource()[[1]]
page <- read_html(page_source)

# 现在可以正常提取元素
headers <- page %>% html_nodes('.tabledata-cell') %>% html_text()
h1_text <- page %>% html_nodes('h1') %>% html_text()

# 提取表格数据
insurance_table <- page %>% html_table(fill = TRUE) %>% .[[1]]
  1. 关闭浏览器和驱动:
remote_driver$close()
driver[["server"]]$stop()

方案2:直接调用网站API接口(更高效)

通过浏览器开发者工具(F12)追踪网络请求,可以找到页面加载表格数据的API接口,直接请求API获取结构化数据,无需模拟浏览器:

  1. 打开目标页面,按下F12进入开发者工具,切换到「网络」标签,刷新页面后筛选「XHR」请求,找到加载评级数据的API接口(例如类似https://www.moodyslocal.com/api/ratings/insurance?country=pe的地址,需自行确认实际接口)。

  2. 用httr请求API并解析JSON:

library(httr)
library(jsonlite)

# 替换为实际找到的API地址
api_url <- "https://www.moodyslocal.com/api/ratings/insurance?country=pe"

# 设置请求头模拟浏览器,避免被反爬拦截
request_headers <- add_headers(
  "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
)

response <- GET(api_url, request_headers)
raw_data <- fromJSON(content(response, "text"))

# 将JSON数据转换为data.frame格式
insurance_data <- as.data.frame(raw_data)

注意事项

  • 使用RSelenium时,需确保本地安装了对应浏览器的驱动程序,且版本与浏览器一致。
  • API接口可能会随网站更新变化,需定期检查;部分API可能需要携带特定Cookie或请求头,可从开发者工具的请求详情中复制。
  • 爬取数据前请遵守网站的robots.txt和使用条款,避免触发反爬机制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:16:05