使用 Python tweepy 查找旧推文

Find old tweets using Python tweepy

Python 3.9.5

tweepy == 4.10.0

我正在尝试使用 tweepy 获取旧推文,但效果不佳(显示 0 个结果)。 这是我尝试过的。

BEARER_TOKEN = "My Token"

DATE_STA = "2020-01-01T00:00:01Z"
DATE_END = "2020-06-01T23:59:59Z"

client = tweepy.Client(BEARER_TOKEN, wait_on_rate_limit=True)
user = client.get_user(username="hellopolicy")
res = client.get_users_tweets(
    user.data.id,
    end_time     = DATE_END,
    start_time   = DATE_STA,
    max_results  = 100,
    tweet_fields = ["text", "created_at", "conversation_id", "public_metrics"]
)

print(res)
# Response(data=None, includes={}, errors=[], meta={'result_count': 0})

但是如果我通过查询从网络上手动搜索它(from:hellopolicy since:2020-01-01 until:2020-06-01),那段时间我可以看到很多推文。

此行为取决于目标 ID。他们中的大多数人都正确显示了所有结果,但其他人(10 人中有 1-2 人)只显示了几周或什么都没有。 ID 中的推文数量不是问题。

为什么会发生这种情况,如何获取所有推文?

来自 get_users_tweets() 文档 (see here):

Only the 3200 most recent Tweets are available.

因此,如果他从那时起发送了 3200 条推文,那么您将无法访问该用户在此时间间隔内的推文。