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

使用rvest爬取NRL积分榜表格时遇JSON解析错误求排查

爬取NRL积分榜时JSON解析错误的问题分析及解决
  • 问题根源:你选中的div.l-content.pre-quench元素的q-data属性值为NA,并非有效的JSON字符串,因此jsonlite::fromJSON()无法解析,抛出语法错误。这是因为该页面的积分榜数据为动态加载,初始HTML中这个属性并未填充有效JSON数据,或者该元素本身就不包含目标数据。

  • 解决思路1:直接提取页面渲染的表格
    跳过无效的动态属性,直接定位页面中实际显示的积分榜表格,用html_table()提取数据:

    library(rvest)
    
    page <- read_html("https://www.nrl.com/ladder/?competition=111&round=27&season=2024")
    
    # 定位积分榜表格并转换为数据框
    ladder_table <- page %>% 
      html_nodes("table.ladder-table") %>% 
      html_table(fill = TRUE) %>% 
      .[[1]]
    
    # 查看前几行数据
    head(ladder_table)
    
  • 解决思路2:抓取动态数据接口
    如果直接提取表格失败,说明数据完全通过AJAX加载。可以通过浏览器开发者工具的「网络」面板,筛选XHR请求,找到返回积分榜JSON数据的接口,直接请求该接口获取数据,这种方式比解析HTML更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 07:02:32