如何从 HTML 中删除 pdf 文档?我正在使用 R,我只能从 HTML 中提取文本。我要废弃的网站示例如下。
问候
如何从 HTML 中删除 pdf 文档?我正在使用 R,我只能从 HTML 中提取文本。我要废弃的网站示例如下。
问候
当您说要从 HTML 页面中抓取 PDF 文件时,我认为您面临的第一个问题是实际识别这些 PDF 文件的位置。
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]
links
包含您尝试下载的 PDF 文件的所有 URL。
当心:当您自动抓取他们的文档并被阻止时,许多网站不太喜欢它。
有了这些链接,您就可以开始循环浏览这些链接并一个一个下载它们,并将它们保存在您的工作目录中,名称为destination
. 我决定根据链接为您的 PDF 提取合理的文档名称(/
在 url 中的最后一段之后提取最后一段
regex_match <- regexpr("[^/]+$", links, perl=TRUE)
destination <- regmatches(links, regex_match)
为了避免网站服务器超载,我听说每隔一段时间暂停一次抓取是友好的,因此我使用 'Sys.sleep()` 将抓取暂停 0 到 5 秒之间的时间:
for(i in seq_along(links)){
download.file(links[i], destfile=destination[i])
Sys.sleep(runif(1, 1, 5))
}