0

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

2 回答 2

2

您可以访问 crontab 吗?如果是这样,您可以将其设置为以您喜欢的频率运行脚本。

这是关于crontab的一些信息。
如果您的服务器运行的是 linux,您只需输入

crontab -e

提取您的个人 crontab 文件。之后,您安排您的命令。每 30 分钟,您将使用此命令。

*/30 * * * *  /path/to/script

保存并退出。

于 2013-03-21T14:14:40.467 回答
1

您是否考虑过使用 Twitter 的流 API 与 REST?如果您长时间保持连接打开,这可能会完成同样的事情。另外,它会减少 API 拉取。试试这个streamR包。

如果您仍想在计时器上设置它—<a href="http://statistics.ats.ucla.edu/stat/r/faq/timing_code.htm" rel="nofollow">http://statistics。 ats.ucla.edu/stat/r/faq/timing_code.htm 看起来很有用。

于 2013-03-21T14:23:36.500 回答