R rvest восстановить пустую таблицу - PullRequest
2 голосов
/ 04 ноября 2019

Я пытаюсь использовать две стратегии для получения данных из веб-таблицы:

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]]

Обе они возвращают пустую таблицу.

1 Ответ

1 голос
/ 04 ноября 2019

Значения извлекаются динамически из другой конечной точки, которую вы можете найти на вкладке сети при обновлении вашего URL. Вам нужно добавить заголовок реферера для сервера, чтобы он возвращал 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)
...