使用R抓取网页?

时间:2020-04-30 13:55:08

标签: html r web-scraping rvest

我正在尝试从左侧导航栏中的here下载数据。 我尝试了以下方法:

library("rvest")
page <- html("https://experience.arcgis.com/experience/478220a4c454480e823b17327b2bf1d4/page/page_1/")
page %>%
   html_nodes(xpath = '//*[@id="ember39"]/div[2]/nav') %>% html_text()

character(0)

还有:

page %>%
   html_nodes(xpath = '//*[@id="ember39"]/div[2]/nav') %>% html_table()

list()

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

可以从“网络”选项卡中找到的端点之一轻松获得数据。它返回json。您可以解析出想要的内容。

library(jsonlite)
library(magrittr)

data <- jsonlite::read_json('https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?f=json&where=1%3D1&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=cases%20desc&resultOffset=0&resultRecordCount=1000&resultType=standard&cacheHint=true') %>%
        .$features

#e.g.
print(data[[1]]$attributes)