【发布时间】:2019-04-27 17:10:29
【问题描述】:
我想从网站上抓取 pdf。我可以手动下载它们,但这是一个学习练习,以便我以后可以做更多的网站。
我正在尝试使用 rvest,但基本功能已关闭。
library(tidyverse)
library(rvest)
trial <- 'http://www.fairlabor.org/report/2015-annual-public-report'
page2<- html(trial)
page2 %>% html_nodes("a") %>% html_attr("href") %>% str_subset(".pdf") %>% download.file("~/downloads/file.pdf")
我想对所有的年度报告都这样做。所以我试过了:
url <- 'http://www.fairlabor.org/impact/reports'
page<- html(url)
links_init <- page %>% html_nodes("a") %>% html_attr("href")
links <- links_init[seq(from = 53, to = 72, by = 2)]
new_urls <- paste0(url, links)
# trying to repeat the above basic example. If it succeeds, I can put in a for loop.
test <- html(new_urls[2])
test %>% html_nodes("a") %>% html_attr("href") %>% str_subset(".pdf")
相反,我得到一个空结果,因为它似乎正在抓取不同的页面。我不知道为什么会这样,因为page2 和test 似乎是同一个字符串。
任何人都知道这里发生了什么以及我该如何纠正它?
我尝试使用as.character(quote()) 明确地将我的网址向量new_urls 转换为字符串。
【问题讨论】: