为什么 tweepy 无法检索某些推文的媒体数据?

Why tweepy cannot retrieve media data of some tweets?

我正在使用 tweepy 开发检索媒体 url 并下载它们的程序。在测试一些推文时,我发现了一些奇怪的东西。所以这就是我所做的:

import tweepy

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

status = api.get_status(908827394856947712)

这条推文的原始 url 是“https://twitter.com/realDonaldTrump/status/908827394856947712”,这条推文确实包含一张图片。在研究 status._json 时,我发现 link 媒体文件包含在 status._json['entities']status._json['extended_entities'] 中,但我找不到 ['extended_entities']['entities'] 不包含图像 link。

让我恼火的是一些推文有这个问题,而大多数没有。那么为什么会发生这种情况,我该如何解决这个问题?

如果您查看回复,您会看到 "truncated": true,

Twitter 最近更改了推文的呈现方式 - 请参阅其文档 https://dev.twitter.com/overview/api/upcoming-changes-to-tweets

根据您的要求,您需要设置tweet_mode=extended

所以:api.get_status('908827394856947712', tweet_mode='extended')