r - R rvest 检索空表
问题描述
我正在尝试两种策略从网络表中获取数据:
library(tidyverse)
library(rvest)
webpage <- read_html('https://markets.cboe.com/us/equities/market_statistics/book/')
data <- html_table(webpage, fill=TRUE)
data[[2]]
''
library("httr")
library("XML")
URL <- 'https://markets.cboe.com/us/equities/market_statistics/book/'
temp <- tempfile(fileext = ".html")
GET(url = URL, user_agent("Mozilla/5.0"), write_disk(temp))
df <- readHTMLTable(temp)
df <- df[[2]]
他们俩都返回一个空表。
解决方案
刷新您的 url 时,您可以在网络选项卡中找到另一个端点动态检索值。您需要为服务器添加一个referer 标头以返回包含表数据的json。
library(httr)
headers = c('Referer'='https://markets.cboe.com/us/equities/market_statistics/book/')
d <- content(httr::GET('https://markets.cboe.com/json/bzx/book/FIT', httr::add_headers(.headers=headers)))
print(d$data)
推荐阅读
- javascript - 如何将数组的最后两个索引数据一起显示为单个数据?
- visual-studio-code - 你可以递归地扩展和过滤 VS Code Explorer 中的项目吗?
- r - 如何将 vcf 文件导入到 R 中?或加载它?
- django - 迁移 Django 应用程序以使用在线媒体存储
- c++ - 为什么`std::optional
::operator=` 当 T 包含 `const` 数据成员时删除? - c# - 使用 nginx 将应用程序部署到 Ubuntu 时,ASP NET Razor 页面在电子邮件和验证错误消息中没有抛光标志
- angular - 添加减计数并在数组中提交数据
- java - Spring MVC 项目无法在每次触发请求时显示 404 错误
- json - 如何使用jq组合两个json变量
- php - Laravel - 带有 post 方法的数据表显示原始数据而不是表格