列出Web服务器目录和子目录中的XML文件

时间:2018-01-24 22:58:37

标签: r xml http https

我试图获取Web服务器目录(及其所有子目录)中所有XML文档的列表。

我试过这些例子:

One

library(XML)  
url <- "https://cmgds.marine.usgs.gov/metadata/pcmsc/"
getHTMLLinks(url)

返回:character(0) Warning message: XML content does not seem to be XML

Two

readHTMLTable(url)

返回相同的错误。

我也尝试过其他网站,例如示例中包含的网站。我看到了一些关于此错误的问题(example),说要将https更改为http。当我这样做时,我得到Error: failed to load external entity

有没有办法可以获得该URL的所有XML文件列表以及使用R的所有子目录?

1 个答案:

答案 0 :(得分:2)

从页面获取原始html:

require(rvest)

url <- "https://cmgds.marine.usgs.gov/metadata/pcmsc/"

html <- read_html(url)

然后,我们将使用html_nodes获取所有链接。名称被截断,因此我们需要获取href属性而不是仅使用html_table()

data <- html %>% html_nodes("a") %>% html_attr('href')