Параллельная очистка данных Reddit - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь очистить некоторые данные из 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...