python 推特 api returns 每秒的推文数量不一致

python twitter api returns inconsistent number of tweets each second

我正在尝试基于 python-twitter 库编写自己的 twitter-fetch api。目标是获取唐纳德特朗普的最后 5 条推文。我每隔一秒左右收到不同数量的推文。有时是 5 条推文,有时只有 1 条。

import twitter

api = twitter.Api(consumer_key=config["credentials"]["key"],
                  consumer_secret=config["credentials"]["secret"],
                  application_only_auth=True,
                  tweet_mode='extended')

tweets = api.GetUserTimeline(
            screen_name="realDonaldTrump",
            count=5)

print("number of tweets: {}".format(len(tweets)))

有没有人在使用另一个 language/package 的 Twitter REST api 之前注意到这一点?

有没有人在我使用的 python-twitter 包中注意到这一点?

这是正常现象。请参阅本文档中的 counthttps://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline.html

count 指定最大限制而不是承诺发送指定数量的推文。从您请求的 5 条推文中,Twitter 可能会因缺乏相关性等原因剔除一些

对于您的场景,只需请求多于 5 条推文(例如 100 条)并且仅使用前 5 条。