我有一个包含数百个PDF的网站。我需要进行遍历,并将每个PDF下载到我的本地计算机上。我想使用rvest。尝试:
library(rvest)
url <- "https://example.com"
scrape <- url %>%
read_html() %>%
html_node(".ms-vb2 a") %>%
download.file(., 'my-local-directory')
如何从链接中获取每个PDF? download.file()
不起作用,我也不知道如何获取每个文件。我只是收到此错误:
doc_parse_raw(x,编码=编码,base_url = base_url, as_html = as_html ,: xmlParseEntityRef:无名称[68]
答案 0 :(得分:2)
library(rvest)
url <- "https://example.com"
page<- html_session(url,config(ssl_verifypeer=FALSE))
links<-page %>% html_nodes(".ms-vb2 a") %>% html_attr("href")
subject<-page %>% html_nodes(".ms-vb2:nth-child(3)") %>% html_text()
name<-links<-page %>% html_nodes(".ms-vb2 a") %>% html_text()
for(i in 1:length(links)){
pdf_page<-html_session(URLencode(paste0("https://example.com",links[i])),config(ssl_verifypeer=FALSE))
writeBin(paste0(name[i],"-",subject[i],".pdf")
}
URL是http,因此必须使用config(ssl_verifypeer=FALSE)
writeBin
根据需要命名文件。我刚刚将其命名为ok_1.pdf
ok_2.pdf
,依此类推