从URL下载所有PDF

时间:2018-12-17 17:35:01

标签: r web-scraping rvest

我有一个包含数百个PDF的网站。我需要进行遍历,并将每个PDF下载到我的本地计算机上。我想使用。尝试:

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]

1 个答案:

答案 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,依此类推