【问题标题】:How to get the next tweet in the sequence?如何获得序列中的下一条推文?
【发布时间】:2021-12-31 12:30:18
【问题描述】:

我正在制作一个与 Twitter API 交互的 Python 程序,但我不确定如何在循环中获取下一条推文。发生的事情是每个循环中只有第一个 Tweet 被调用。我需要在每个循环中始终调用下一条推文,然后与它们进行交互。

我的代码:

auth = tweepy.OAuthHandler(consumerkey, consumerkey_secret)
auth.set_access_token(acesstoken, acesstoken_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)

r = tweepy.Cursor(api.search_tweets, lista_frases).items(razao_responder)
c = tweepy.Cursor(api.search_tweets, lista_frases_curtir).items(razao_curtir)

for tweet in tweepy.Cursor(api.search_tweets, lista_frases).items(razao_responder):
   while True:
       try:
           if int(tweet.created_at.strftime('%d%m%Y')) >= date_int:
               time.sleep(random.randint(time_init, time_final))
               print('\nTweet respondido de ' + tweet.user.screen_name + '\nTweet ID: ' +    str(tweet.id) +
               '\nTweet date: ' + str(tweet.created_at.strftime('%d/%m/%Y')))
               api.update_status(lista_respostas[0][1:], in_reply_to_status_id=tweet.id)
       except tweepy.Forbidden as e:
           print(e)
       except StopIteration:
           print('No more tweets')
           break

代码按预期工作。唯一的问题是它没有给我找到下一条推文,总是在每个循环中与同一个推文进行交互。

【问题讨论】:

    标签: python api twitter tweepy


    【解决方案1】:

    这是因为你的while TrueCursor 中的第一个tweet 无限循环。

    【讨论】:

    • 那么我把这个循环放在哪里了?应用程序必须无限期运行
    • 在做什么?没有无限数量的推文可供迭代。
    猜你喜欢
    • 2011-01-03
    • 2022-06-17
    • 2018-05-23
    • 2017-11-10
    • 1970-01-01
    • 2018-02-11
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多