您好我刚进入Twython。我试图阻止我的脚本尝试多次转推Tweet(因为这会引发错误)
所以我想知道如果你有推文,retweeted
密钥应该返回,你已经转发了那条推文。
但是我写了这个脚本:
def develop(twitter, keyword, count):
global TweetIds, tweetInsert, FollowCounts
results = twitter.search(q=keyword,count=count,result_type = 'popular')
tweets = results['statuses']
for tweet in tweets:
if not tweet['retweeted']:
try:
twitter.retweet(id=tweet['id'])
except TwythonError as e:
print(e)
这是输出
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
Twitter API returned a 403 (Forbidden), You have already retweeted this tweet.
所以tweet['retweeted']
确实返回了false
,即使它应该是true
。
我做错了什么?
答案 0 :(得分:0)
如果您要检查您看到的推文是原创的还是转发的,请使用密钥'retweeted'
。例如,如果我发帖并且您检查我的帖子'retweeted'
将是False
,但如果我转发给其他人,则'retweeted'
的值将为True
。
我对防止多次转发的想法是在文本文件中编写推文ID,并在每次转发文件时检查您是否已经转发过。我知道这根本没有效率,但我不确定任何其他解决方案。为了使速度更快,您可以每天创建一个新文本,以最大限度地减少您要检查的ID数量。我希望我帮助你