【发布时间】:2012-12-30 23:50:05
【问题描述】:
我正在使用 tweepy 编写一个 twitter 机器人,它将搜索对其提及的内容,然后根据推文中的文本执行操作。最终我想通过 cron 每隔几分钟运行一次。我是python初学者,请原谅我的无知。
我的问题是防止重复。我有一个循环,通过检查它的 id 是否大于前一条推文来测试一条推文是否是新的。但是,我无法找到一种方法来初始化这个变量,然后在循环结束时保存对它的更改。
这是我当前的(损坏的)代码:
import sys
import tweepy
## OAuth keys go here.
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
def ask_bot():
old_id = 0
for tweet in api.mentions():
if tweet.id > old_id:
print "@%s: %s" % (tweet.author.screen_name, tweet.text)
old_id = tweet.id + 1
else:
pass
最后期望的行为是让循环只打印以前没有打印过的推文。
【问题讨论】: