如果您打开此网页,会出现一个绿色的“导出”按钮:http://mics.unicef.org/surveys
如果您在网络浏览器中单击它,则开始下载文件 surveys_catalogue.csv
。我的目标是在 R 中复制此下载(完整的、未过滤的 csv 文件)。
当我在 chrome 中检查元素
时,该页面看起来有一个请求负载
header ,我不知道如何在 R 中实现?
最佳答案
你可能会更好:
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“导出”是您实际上不需要的额外步骤,因为您可以直接获取 XHR URL(就像我在这里所做的那样)。
关于r - 如何使用请求负载来抓取网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41410058/