Я пытаюсь очистить некоторые данные из Reddit, и просто ошибка слишком медленная, но я действительно изо всех сил пытаюсь распараллелить функцию.
Я не знаю, как получить полный JSON, так чтоданные здесь:
https://www.reddit.com/r/science/about/moderators.json
library(jsonlite)
library(parallel)
dat <- fromJSON(".../mods.txt")
mods <- dat$data$children$name
mod_activity <- data.frame()
author <- data.frame()
mod_list <- function(user) {
use_list <- tryCatch(fromJSON(paste0("https://www.reddit.com/user/", user,".json")), error=function(e) NULL)
mod_activity <<- rbind(mod_activity,use_list$data$children$data$created_utc[1])
author <<- rbind(author,use_list$data$children$data$author[1])
}
cluster <- makeCluster(detectCores() - 1)
clusterEvalQ(cluster, library(jsonlite))
clusterExport(cluster,c("mod_list","mods","mod_activity","author"))
parLapply(cluster,mods, function(user) mod_list(user))
stopCluster(cluster)
Это не воспроизводимый пример, я знаю, но это самый близкий, который я могу получить.
Я стремлюсь киметь столбец с именами авторов и их последней активной датой, но NULL для всех пользователей, которые были удалены, и возвращать ошибку 403.