【发布时间】:2018-01-18 08:30:44
【问题描述】:
我制作了一个 Twitter 机器人,用于转发、关注和取消关注人(达到最大值时),但是当我认为我的机器人完全可以运行时,Twitter 阻止了我。那是因为如果不想检查我的机器人是否已经转发了一条推文但我有一个 try/except 块。所以我做了很多 api 调用来转推......我想知道如何检查我是否已经转推了这条推文? 我想查找已转发推文的每个用户,如果我的用户名在其中,则传递到下一条推文,但这不是很有效。我可以分享我的代码,并随时要求任何澄清。 谢谢, 卡伊皮奥 PS:我正在使用 tweepy 与 API 进行交互!
更新,这是我的代码的一部分,只是检查转发的部分:
loginToTwitter()
query = 'a string'
tweet_cursor= tweepy.Cursor(api.search, query, result_type="recent").items()
print("Searching")
for tweet in tweet_cursor:
tweetText = tweet.text.lower()
if "rt" in tweetText:
if tweet.retweeted == True: #It return me each time a false boolean but then I get the api.code 327 from twitter
print("already retweeted")
continue
try:
api.retweet(tweet.id)
print('Retweedted')
time.sleep(2)
except tweepy.TweepError as e:
if e.api_code == 327:
print("Tried but tweet already Retweeted" )
print(e)
time.sleep(0.5)
continue
【问题讨论】:
-
“我可以分享我的代码”请这样做
-
如果您使用的是 REST API,那么是的,您会调用很多转推。为什么不看看流式 API(tweepy 也可以处理)?
-
更新状态!阿列克斯·安德烈耶夫
-
@asongtoruin 你能解释一下我如何在我的机器人上使用流 API 吗?根据我对研究的理解,这就像对 twitter 服务器的开放请求。
标签: python api twitter bots tweepy