Der folgende Code geht an R Journal Accepted articles Seite und lädt den ersten Artikel, der das Wort Paket enthält.Folgen Sie mehreren Links mit rverst :: follow_link()
library(rvest)
library(magrittr)
url_stem <- html_session("https://journal.r-
project.org/archive/accepted/")
url_paper <- follow_link(url_stem, "package") %>%
follow_link("package") -> url_article
download.file(url_article$url, destfile = "article.pdf")
Was ich möchte, ist zu Download alle Artikel, die ein oder mehrere Mathing Wörter aus einer gegebenen Menge von Wörtern haben.
Da follow_link()
einen Ausdruck verwendet, habe ich versucht, die Suchbegriffe zu durchlaufen - unter Berücksichtigung der Tatsache, dass die Funktion einen Fehler zurückgibt, wenn sie keinen passenden Link findet.
library(rvest)
library(magrittr)
url_stem <- html_session("https://journal.r-project.org/archive/accepted/")
search_terms <- c("package", "model", "linear")
tryCatch(
for(i in search_terms) {
url_paper <- follow_link(url_stem, search_terms[i]) %>%
follow_link(search_terms[i]) -> url_article
download.file(url_article$url, destfile = "article.pdf") # Don't how I would write it as article[i=1,2, ...].pdf
}
)
Ich erhalte die folgenden Fehler:
Error in if (!any(match)) { : missing value where TRUE/FALSE needed
This Thread nicht nützlich war, da es den Fall für tags
löst. Das Problem scheint einfach und könnte in einfacher Weise gelöst werden, aber das ist wahrscheinlich, weil R Journal Website ziemlich ordentlich ist. Manche Seiten sind ziemlich chaotisch.