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

使用R的rvest包爬取NRL赛程JSON数据报错,求解决方案

问题原因与解决办法
  • 错误根源:你定位的div.u-spacing-mt-24.pre-quench节点在当前页面不存在,或是其q-data属性值为空/非合法JSON结构,导致jsonlite::fromJSON解析时抛出lexical error。网站不同页面的渲染逻辑存在差异,之前的爬取方法无法通用。
  • 替代方案:直接从页面的赛程卡片中提取对阵队伍,无需依赖q-data的JSON数据,代码示例如下:
library(rvest)
library(dplyr)

url <- "https://www.nrl.com/draw/?competition=111&round=1&season=2024"
page <- read_html(url)

# 提取所有对阵队伍对
match_ups <- page %>%
  html_nodes("div.draw-card__team") %>%
  html_text2() %>%
  trimws() %>%
  matrix(ncol = 2, byrow = TRUE) %>%
  as.data.frame(stringsAsFactors = FALSE) %>%
  setNames(c("Home Team", "Away Team"))

print(match_ups)
  • 代码说明:
    • 用html_nodes("div.draw-card__team")定位每个赛程卡片里的队伍元素
    • html_text2()提取并清理文本,trimws()去除多余空格
    • 将结果按每2个一组转为矩阵,再转成数据框,得到对阵的主客队

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:32:15