【问题标题】:Twitter API (Tweepy) Get tweets from last 24 hoursTwitter API (Tweepy) 获取过去 24 小时的推文
【发布时间】:2021-08-31 21:55:16
【问题描述】:

我一直在寻找解决方案,但没有找到可以解决我的问题的解决方案,我正在尝试从某个帐户收集推文,但这些推文只有 24 小时或更早。我应该向 api.user_timeline 添加什么参数才能仅获取过去 24 小时的结果?我知道你可以指定自日期和内容,但我不想要日期,我真的只想要过去 24 小时的推文,我不知道该怎么做。

for tweet in tweepy.Cursor(api.user_timeline,
                   screen_name='###'
                   ).items(1):
                   try:
                       if not tweet.retweeted:
                               tweet.retweet()
                               print("###, Working...")
                               sleep(10)

【问题讨论】:

  • 当您在推文中“游标”时,只需检查每条推文的时间戳即可。推文将按时间顺序排列。当您遇到超过 24 小时的时间戳时,只需停止处理其他推文即可。
  • 我如何将其放入实际代码中?
  • 大致大纲如下。您可以在 Twitter 文档中查找 statuses/user_timeline here,这将解释返回的内容,包括时间戳。然后您将查找如何将此时间戳与过去的 24 小时进行比较。如果比较时间较长,那么您将使用 break 语句退出 for 循环。

标签: python api twitter tweepy


【解决方案1】:
import datetime
from datetime import timedelta

tweets_list = tweepy.Cursor(api.search,q=search_words + str(yesterday) + " until:" +str(today),tweet_mode='extended',lang='fa').items()

for tweet in tweets_list:
    if tweet.created_at>datetime.datetime.now()-timedelta(hours=24):

【讨论】:

  • 欢迎来到 Stack Overflow。请使用最小的可重现示例编辑您的答案,例如修复导入,并解释它如何回答所提出的特定问题。请参阅如何回答。 stackoverflow.com/help/how-to-answer
猜你喜欢
  • 1970-01-01
  • 2012-07-05
  • 2018-02-13
  • 2018-07-03
  • 2014-09-17
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多