r - 使用 R 列出 https 服务器上的文件
问题描述
我正在尝试列出 HTTPS 服务器上的文件(.laz 文件),然后下载它们。当我尝试获取 .laz 文件列表时,我收到警告消息:“XML 内容似乎不是 XML:”。
这是我的代码:
library(RCurl)
library(XML)
www <- "https://resources.gisdata.mn.gov/pub/data/elevation/lidar/county/chisago/laz/"
files <- getHTMLLinks(www, xpQuery = "//a/@href['.laz'=substring(., string-length(.) - 3)]"
df1 <- data.frame(matrix(unlist(files), nrow=length(files), byrow=T))
也许这个问题与站点是 HTTPS 而不是 HTTP 有关?
谢谢你。
解决方案
我无法解释错误getHTMLLinks
正在产生。
这是一个带有 rvest 包的解决方案:
library(rvest) #rvest verison 1.0.0
library(magrittr)
#read the page
www <- "https://resources.gisdata.mn.gov/pub/data/elevation/lidar/county/chisago/laz/"
page <- read_html(www)
#find the hrefs attributes which contain ".laz"
filenames <-html_elements(page, xpath = ".//a[contains(@href, '.laz')]") %>% html_text()
links <- paste0(www, filenames)
推荐阅读
- mysql - 如果 mysql 中不存在,则添加列
- sql - 在 oracle SQL 中创建一个名为 lastnamefirst 的用户定义函数
- function - 如何让tail函数返回我需要的东西?
- sql - Oracle SQL - 生成唯一的 sAMAccountName
- javascript - javascript: `Date()` 和 `new Date()`
- regex - 正则表达式在文件中搜索一组括号,其中包含八个字符,全为 1 或 0,至少有一个 1?
- graphql - Absinthe Graphql 嵌套查询安全性
- c - C - 将带有重复分隔符字符的字符串拆分为 2 个子字符串
- java - 无法通过构造函数自动装配
- java - 为什么 ScheduledExecutorService 使用“新”关键字导致内存泄漏