我和我的合作伙伴都有这段代码我们在R中提取推文并将其放在数据库中,我们想知道的是如何循环这段代码,以便它定期循环。最好每30分钟一次。
这是我们的代码:
#Load twitter package for R
library(twitteR)
#load MySQL package for R
library(RMySQL)
#Load authentication files for twitter
load(file="twitter_authentication.Rdata")
registerTwitterOAuth(cred)
#Search twitter for tweets e.g. #efteling
efteling <- searchTwitter("@efteling", n=100)
#Store the tweets into a dataframe
dataFrameEfteling <- do.call("rbind", lapply(efteling, as.data.frame))
#Setup up the connection to the database()
doConnect <- dbConnect(MySQL(), user="root", password="", dbname="portfolio", host="127.0.0.1")
dbWriteTable(doConnect, "tweetsEfteling", dataFrameEfteling)
eftelingResult <- dbSendQuery(doConnect, "select text from tweetsEfteling")
showResultEfteling <- fetch(eftelingResult, n=20)
答案 0 :(得分:2)
您是否可以访问crontab?如果是这样,您可以将其设置为经常运行脚本。
以下是关于crontab的一些信息 如果您的服务器运行的是linux,您只需输入
即可crontab -e
提取您的个人crontab文件。之后,您安排命令。 每30分钟,您将使用此命令。
*/30 * * * * /path/to/script
保存并退出。
答案 1 :(得分:1)
您是否考虑使用Twitter的流媒体API与REST?如果您将连接保持打开一段时间,这可能会完成同样的事情。此外,它将减少API拉动。试试streamR
包。
如果您仍想在计时器上设置它 - http://statistics.ats.ucla.edu/stat/r/faq/timing_code.htm看起来很有用。