Итак, я пытаюсь сделать из Интернета API-интерфейс с миллионами отдельных страниц.Для этого я использую параллельную обработку и пакет rvest.Проблема возникает потому, что функция read_html возвращает пустой документ XML при использовании внутри кластера.У кого-нибудь есть решение для этого?До сих пор я использовал функцию getURL, но проблема в том, что размер объекта увеличивается от одной функции к другой, и когда речь идет о десятых долях миллионов веб-сайтов, это имеет большое значение.Мой пример (игрушечный) кода, который показывает проблему:
library(parallel)
docss<-c('https://stackoverflow.com/' , 'https://stackoverflow.com/')
read_html(paste0(docss[1]))
cl<-makeCluster(2)
clusterEvalQ(cl, {require(rvest)})
clusterExport(cl,'docss')
dats<-parLapply(cl, docss, function(j){
read_html(paste0(docss[1]))
})
dats
stopCluster(cl)
Это происходит не только с функцией parLapply, но и с foreach doParallel, и, поскольку я работаю с Windows, я не могу использовать многие другие параметры для параллельногообработка.