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

问题描述

我正在尝试从两个日期之间的特定帐户中获取有关推文的信息(点赞数、评论数等)。我可以访问 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,0)
end = datetime.datetime(2021,0)
specificTweets = []
for tweet in tweets:
    if (tweet.created_at > start) and (tweet.created_at < end):
        specificTweets.append(tweet)

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...