【问题标题】:Webscraping R script doesn't run from crontab [closed]Webscraping R 脚本不能从 crontab 运行 [关闭]
【发布时间】:2018-12-06 20:45:14
【问题描述】:

我在运行将 Reddit 中的帖子作为 cron 作业抓取的 R 脚本时遇到问题。该脚本在从 R 中手动获取时可以完美运行。其他 R 脚本也可以从 crontab 中正常运行。此外,R 抓取包是专门为不超出 Reddit API 而构建的。

crontab:

*/25 * * * * /usr/bin/Rscript "home/ubuntu/cryptoAPI/NLP/NLPupdater.R"

R 脚本:

setwd("/home/ubuntu/cryptoAPI/NLP")
library(RedditExtractoR)#install.packages('RedditExtractoR')
library('httr')
library(data.table)

#1. check for most recent reddit urls
ss.new.Reddit <- fileSnapshot(path="/home/ubuntu/cryptoAPI/NLP/raw", file.info = F)
Reddit.num <- nrow(ss.new.Reddit[[1]])-1

#2. load CCtop100 snapshot from cronjob
Reddit.urls <- rjson::fromJSON(file=paste0('raw/hot.json@limit=50.', Reddit.num))#"raw/hot.json@limit=100.", Reddit.num))

#3. extract urls from list
urlvector <- character(50)    #to 100
for(i in 1:52){               #also to 102
  urlvector[i] <- Reddit.urls$`data`$children[[i]]$data$permalink }

#4. combine w formatting for reddict extractor # add 'http://www.reddit.com'
urlvector.long <- paste0('http://www.reddit.com', urlvector)

#5. run redditextractor
Reddit.comments <- reddit_content(urlvector.long)

#6. save new csv
NLPcsv <- paste0("CSV/reddit-nlp-",Reddit.num,".csv" )
fwrite(Reddit.comments, file=NLPcsv)
fwrite(Reddit.comments, file='current/currentNLP.csv')

cronjob 的执行时间是否有限制?刮擦可能需要 3 分钟才能完成。

【问题讨论】:

  • 您是否有意在 crontab 条目中省略 "home/ubuntu/cr..." 中的前导斜杠?
  • 嗯,不,很好,让我更新一下,看看进展如何
  • 它现在应该已经运行了两次(由*/25 判断),更改 crontab 路径是否修复它?
  • 它每 25 分钟检查一次,但每小时只有一个新快照。我手动重新运行了最后一个,所以必须等到下一个小时到来(应该很快......)。快照可能在过去一小时内已更新
  • 是的!看起来它正在工作!我以为有人问过,但它是用于跟踪加密货币的数据仪表板。基本上有 3 个部分:每 5 分钟对交易所进行 API 调用以获取数据,包括对某些移动平均线和加权调整的转换、情绪分析和来自每小时 reddit 帖子的内容以及用于预测 24 小时和最终 7 天时间步长的各种机器学习算法。跨度>

标签: r web-scraping cron reddit


【解决方案1】:

cronjob 中有错字,路径中忘记了 /:

*/25 * * * * /usr/bin/Rscript "/home/ubuntu/cryptoAPI/NLP/NLPupdater.R"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2014-04-02
    • 2019-01-10
    • 2017-11-20
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多