【发布时间】:2019-07-22 09:01:25
【问题描述】:
此问题已在此处 (Web scraping pdf files from HTML) 得到解答,但该解决方案不适用于我的目标 url 或操作的目标 url。我不应该问这个问题作为对之前帖子的回答,所以我要开始一个新的 Q。
我的代码与操作完全一致,我收到的错误消息是 “download.file 中的错误(链接 [i],destfile = save_names[i]): 无效的 'url' 参数”
我使用的代码是:
install.packages("RCurl")
install.packages("XML")
library(XML)
library(RCurl)
url <- "https://www.bot.or.th/English/MonetaryPolicy/Northern/EconomicReport/Pages/Releass_Economic_north.aspx"
page <- getURL(url)
parsed <- htmlParse(page)
links <- xpathSApply(parsed, path="//a", xmlGetAttr, "href")
inds <- grep("*.pdf", links)
links <- links[inds]
regex_match <- regexpr("[^/]+$", links)
save_names <- regmatches(links, regex_match)
for(i in seq_along(links)){
download.file(links[i], destfile=save_names[i])
Sys.sleep(runif(1, 1, 5))
}
非常感谢任何帮助!谢谢
【问题讨论】:
-
将包放在脚本的开头会很酷......所以你把它变成一个可重复的例子。
-
按照@igorkf 的建议完成
-
解决了!我不知道 为什么 这有效,但确实有效。我已将 for 循环换成以下代码,它可以工作: Map (function(u, d) download.file(u, d, mode='wb'), links, save_names)
标签: r pdf web-scraping download