使用推文获取转发者的数量



我用tweepy做一些推特分析。我想看看转发给定推文的用户列表。首先,我想使用 tweepy 提取这条推文的转发者数量。

我使用以下代码

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
count=0
for tweet in api.retweets(1090392302130888704):
     countj+=1
print(countj)

从链接中可以看出,转发次数为 54。但是,此代码返回 50。为什么会有这种差异?

试图将此代码应用于几条推文,我注意到与我在 Web 客户端中看到的代码和代码结果总是存在差异。

受保护的转推显示为你看到的计数的一部分,但你无法通过 API 获取它们或其转发者(除非该受保护的帐户关注您(。

为了概述这一点,你可以看到 https://twitter.com/AmericaTalks/status/1090408203882360832 现在有 7 个转推。如果您点击查看谁转发了,它将显示 6 个帐户,并在底部显示"1 个用户要求不在此视图中显示。了解更多"。API 还将仅返回 6 个转推(er(。

请注意,在代码中,您定义了 count ,但使用 countj 。这将导致NameError
此外,API.retweets返回Status对象的列表,因此您可以只执行len(api.retweets(1090392302130888704)),而不是循环遍历它们来计数它们。

最新更新