Как получить таблицу (scrappin) с сайта - PullRequest
0 голосов
/ 18 марта 2020

пожалуйста, я хочу получить таблицу на этом сайте в Rstudio: "https://www.worldometers.info/coronavirus/#countries"

Я один месяц изучаю R с нуля, вот что я сделал:

library(XML)     
library(rvest)
library(xml2)

url<-("https://www.worldometers.info/coronavirus/#countries")

covid<-readHTMLTable(url,which=1)

head(covid)

сообщение об ошибке вывода

url<-("https://www.worldometers.info/coronavirus/#countries")
> covid<-readHTMLTable(url,which=1)
Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘readHTMLTable’ for signature ‘"NULL"’
In addition: Warning message:
XML content does not seem to be XML: '' 

пожалуйста, мне нужна помощь

1 Ответ

1 голос
/ 18 марта 2020

Мы могли бы использовать rvest для получения данных.

library(rvest)
url <- "https://www.worldometers.info/coronavirus/#countries"

url %>% 
  read_html() %>%
  html_table() %>%
  .[[1]] %>%
  replace(., . == '', NA)


#  Country,Other TotalCases NewCases TotalDeaths NewDeaths TotalRecovered ActiveCases Serious,Critical Tot Cases/1M pop
#1         China     80,894      +13       3,237        11         69,614       8,043            2,622               56
#2         Italy     31,506     <NA>       2,503        NA          2,941      26,062            2,060              521
#3          Iran     16,169     <NA>         988        NA          5,389       9,792             <NA>              193
#4         Spain     11,826     <NA>         533        NA          1,028      10,265              563              253
#5       Germany      9,414      +47          26        NA             71       9,317                2              112
#6      S. Korea      8,413      +93          84         3          1,540       6,789               59              164
#...

Вы можете заглянуть в readr::parse_number, чтобы преобразовать столбцы, такие как TotalCases, NewCases, в формат нумерации c.

...