如何循环这段代码?

时间:2013-03-21 14:12:54

标签: database r

我和我的合作伙伴都有这段代码我们在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)

2 个答案:

答案 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看起来很有用。