У меня есть список chr с несколькими URL-адресами. Я хочу загрузить контент с каждого из этих URL-адресов.
Чтобы избежать написания сотен команд, я хочу автоматизировать процесс с помощью цикла с использованием lapply.
Однако моя команда возвращает ошибку. Можно ли очистить несколько URL-адресов?
Текущие подходы
Длинный метод: работает, но я хочу его автоматизировать
urls <-c("https://en.wikipedia.org/wiki/Belarus","https://en.wikipedia.org/wiki/Russia","https://en.wikipedia.org/wiki/England")
library(rvest)
library(httr) # required for user_agent command
uastring <- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
session <- html_session("https://en.wikipedia.org/wiki/Main_Page", user_agent(uastring))
session2<-jump_to(session, "https://en.wikipedia.org/wiki/Belarus")
session3<-jump_to(session, "https://en.wikipedia.org/wiki/Russia")
writeBin(session2$response$content, "test1.txt")
writeBin(session3$response$content, "test2.txt")
Автомат / цикл: не работает.
urls <-c("https://en.wikipedia.org/wiki/Belarus","https://en.wikipedia.org/wiki/Russia","https://en.wikipedia.org/wiki/England")
library(rvest)
library(httr) # required for user_agent command
uastring <- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
session <- html_session("https://en.wikipedia.org/wiki/Main_Page", user_agent(uastring))
lapply(urls, .%>% jump_to(session))
Error: is.session(x) is not TRUE
Резюме
Я хочу автоматизировать следующие два процесса, jump_to()
и writeBin()
, как показано в приведенном ниже коде.
session2<-jump_to(session, "https://en.wikipedia.org/wiki/Belarus")
session3<-jump_to(session, "https://en.wikipedia.org/wiki/Russia")
writeBin(session2$response$content, "test1.txt")
writeBin(session3$response$content, "test2.txt")