twitter - 有没有办法使用 tweepy 在特定时间范围内从特定用户获取推文?

标签 twitter tweepy twitterapi-python

我正在尝试从两个日期之间的特定帐户获取有关推文的信息(喜欢的数量、评论的数量等)。我可以访问 Twitter API 并安装 tweepy,但我不知道如何做到这一点。我的身份验证方法是 OAuth 2.0 Bearer Token。如有任何帮助,我们将不胜感激!

最佳答案

您可以通过查看推文对象下的 created_at 属性来检查推文的创建时间。但是,要获取特定用户在特定时间范围内的所有推文,您必须首先获取该帐户下的所有推文。另外,值得一提的是,Twitter 的 API 仅支持最多 3200 条用户的最新推文。

要获取所有推文,您可以这样做

# Get 200 tweets every time and add it onto the list (200 max tweets per request). Keep looping until there's no more to fetch.
username = ""
tweets = []
fetchedTweets = twitterAPI.user_timeline(screen_name = username, count = 200)
tweets.extend(fetchedTweets)
lastTweetInList = tweets[-1].id - 1

while (len(fetchedTweets) > 0):
        fetchedTweets = twitterAPI.user_timeline(screen_name = username, count = 200, max_id = lastTweetInList)
        tweets.extend(fetchedTweets)
        lastTweetInList = tweets[-1].id - 1
        print(f"Catched {len(tweets)} tweets so far.")

然后,您必须过滤掉特定时间范围内的所有推文(您必须导入日期时间):

start = datetime.datetime(2020, 1, 1, 0, 0, 0)
end = datetime.datetime(2021, 1, 1, 0, 0, 0)
specificTweets = []
for tweet in tweets:
    if (tweet.created_at > start) and (tweet.created_at < end):
        specificTweets.append(tweet)

您现在可以在 specifiedTweets 中查看您的时间范围内的所有推文。

关于twitter - 有没有办法使用 tweepy 在特定时间范围内从特定用户获取推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65694023/

相关文章:

python - 导入时出现 UnicodeDecodeError (tweepy)

python - tweepy 错误 python 2.7

python - 如何使用 Tweepy 获取特定日期的推文?

twitter - 使用一个帐户中的 Twitter API 来从另一个帐户中发推文?

python - 如何使用 Twitter API 检查用户/密码是否有效?

javascript - Twitter 提前输入,Bloodhound 过滤器开始

python - Tweepy 流式 API : filtering on user

python - 推特 API : How to search tweets based on query words and predetermined time span + tweets characteristics

android - Android 上的 Twitter 集成问题

c# - 算术运算导致 tweetsharp 溢出异常