用R来搜刮网页?

问题描述 投票:0回答:1

我想从以下网站下载数据 此处 我已经尝试了以下方法。

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()

我将感谢任何帮助或建议。

html r web-scraping rvest
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.