Le code ci-dessous va à la page Accepted articles du Journal R et télécharge le premier article qui a le mot le paquet dedans.Suivre plusieurs liens avec 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")
Ce que je voudrais est à télécharger tous les articles qui ont un ou plusieurs mots mathing d'un ensemble donné de mots.
Depuis follow_link()
prend une expression, j'ai essayé de faire une boucle sur les termes de recherche - en tenant compte du fait que la fonction renvoie une erreur dans le cas où il ne trouve pas un lien correspondant.
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
}
)
Je reçois l'erreur ci-dessous:
Error in if (!any(match)) { : missing value where TRUE/FALSE needed
fil This n'a pas été utile car elle permet de résoudre le cas pour tags
. Le problème semble simple et pourrait être résolu de manière plus facile, mais c'est probablement parce que le site du journal R est assez soigné. Certains sites sont plutôt en désordre.