2016-12-31 2 views
1

Если открыть эту веб-страницу, есть зеленая кнопка «экспорт»: http://mics.unicef.org/surveysКак webscrape сайт с полезной нагрузкой запроса?

Если щелкнуть его в веб-браузере, файл surveys_catalogue.csv начинает загрузку. Моя цель состоит в том, чтобы повторить эту загрузку (полный, нефильтрованного .csv файл) в R.

Когда я inspect element в хроме, это выглядит страница имеет request payload заголовок, который я не могу понять, как в реализации Р?

ответ

4

Вы могли бы быть лучше с:

library(jsonlite) 
library(tibble) 
library(dplyr) 

res <- GET("http://mics.unicef.org/api/survey") 

content(res, as="text") %>% 
    fromJSON(flatten=TRUE) %>% 
    as_tibble() %>% 
    glimpse() 
## Observations: 312 
## Variables: 11 
## $ round    <chr> "MICS1", "MICS1", "MICS1", "MICS1", "MICS1",... 
## $ region   <chr> "Central and Eastern Europe and the Commonwe... 
## $ country   <chr> "Croatia", "Kyrgyzstan", "Turkey", "Turkmeni... 
## $ country_in_filter <chr> "Croatia", "Kyrgyzstan", "Turkey", "Turkmeni... 
## $ year    <chr> "1996", "1995", "1995", "1995", "1996", "199... 
## $ status   <chr> "Completed", "Completed", "Completed", "Comp... 
## $ reports   <list> [<Final, https://mics-surveys-prod.s3.amazo... 
## $ archive   <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ... 
## $ extra_info  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ... 
## $ dataset.status <chr> "Not available", "Not available", "Not avail... 
## $ dataset.url  <chr> "", "", "", "", "", "", "", "", "", "", "", ... 

те же данные, но и больше данных.

Этот URL-адрес используется для построения строки верхнего фильтра (сайт делает несколько запросов XHR для построения таблицы и строки фильтра). CSV «экспорт» - дополнительный шаг, который вам действительно не нужен, так как вы можете напрямую захватить URL XHR (как я здесь сделал).

Смежные вопросы