rvest возвращает пустой список при попытке очистить таблицу с сайта - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь очистить таблицы с этого сайта, а rvest возвращает пустой список. Это работает для других сайтов. в чем может быть проблема?

Спасибо,

library(rvest)
urlONGov <- "https://www.ontario.ca/page/2019-novel-coronavirus"
ONGov <- urlONGov %>%
  xml2::read_html() %>%
  html_nodes(xpath='//*[@id="pagebody"]/table[1]') %>%
  html_table()
ONGov

1 Ответ

2 голосов
/ 27 марта 2020

Таблица динамически извлекается из вызова API, который можно найти на вкладке сети dev tools при обновлении веб-страницы. Вызов возвращает json, через который вам нужно пройти, чтобы получить html, из которого вы затем можете разобрать таблицу.

library(jsonlite)
library(rvest)

table <- jsonlite::read_json('https://api.ontario.ca/api/drupal/page%2F2019-novel-coronavirus?fields=nid,field_body_beta,body')%>%
     .$body%>%.$und%>%.[[1]]%>%.$safe_value%>%
      read_html()%>%html_node('table')%>%html_table()
...