使用R和rvest爬取网页表格结果不符,求无需Rselenium的解决方案
原因说明
这个站点的表格数据是页面加载完成后通过异步接口动态填充的,你用rvest抓取的是初始静态HTML里的占位内容,所以返回的全是please wait...,不需要用RSelenium,直接请求对应的数据源接口就能拿到完整数据。
实现代码
library(httr) library(jsonlite) library(dplyr) # 请求表格数据源接口 response <- GET("https://www.stats.gov.sa/en/api/915?page=0&per_page=200") # 解析返回的JSON数据 raw_data <- fromJSON(rawToChar(response$content)) # 提取为和网页一致的表格 target_table <- raw_data$data %>% as_tibble()
- 代码中
per_page参数控制单次返回的条目数量,调整为足够大的数值可以一次性拿到全量数据,不需要处理分页逻辑 - 最终得到的
target_table字段和网页显示完全一致,包含文件名称、报告周期、发布周期、下载资源地址等信息
内容的提问来源于stack exchange,提问作者eldergod
相关产品推荐
相关产品推荐

