【发布时间】:2021-04-10 18:37:44
【问题描述】:
我在尝试以嵌入式表为目标来收集第二组链接时遇到问题。这是一个令人尴尬的简单任务。
网站:https://irma.nps.gov/DataStore/Reference/Profile/2233469 虽然他们有其他产品的 API,但这些数据不包括在内......(我有一个密钥 - 如果需要,它会附加到 URL 的末尾,但它似乎不会影响这种类型的页面)。
我想要做的是复制表中包含的所有链接。或者下载整个表格的内容并将其转换为 R 中的数据框(我已经用更简单的表格实现了这一点)。我不应该对那部分有困难!虽然,我也相信我可以很容易地破解这张桌子......
我遵循了一些不同的指南和问题来尝试解决这个问题,但我一直碰壁。我一直希望通过 rvest/xml2/httr/jsonlite 软件包套件来实现这一点,但我仍然不相信我需要 RSelenium。
page <- read_html('https://irma.nps.gov/DataStore/Reference/Profile/2233469')
方法 1。
app1 <- html_nodes(page, "body")
app1 <- app1[[1]]
app1 <- app1 %>% html_attr('href')
我尝试了几种方法来从这里获取数据,但常见的方法似乎都失败了,例如html_table 等
方法 2.(格式不正确)
app2 <- page %>%
html_nodes(xpath = '//*[(@id =
"digitalResourcesGrid-body")]') %>%
html_attr('href')
方法 3。
app3 <- page %>% html_nodes('div.x-grid-view x-fit-item x-grid-view-default')
app3 <- app3 %>% html_nodes("a")
app3 <- xml_text(app3)
我在不同的函数上尝试了十几种排列,但都没有成功。每种方法在过程中的某个地方都失败了,但似乎这些方法中的任何一种在理论上都应该有效?
非常感谢您首先成功定位此表的任何帮助,我确实认为只要我可以访问它,我就可以从中得到我想要的东西。
【问题讨论】:
标签: r web-scraping rvest