通过tweetpy获取鸣叫人数

时间:2019-02-05 16:58:58

标签: twitter tweepy

我使用tweepy做一些Twitter分析。我想查看转发给定推文的用户列表。首先,我想使用tweepy提取此推文https://twitter.com/AmericaTalks/status/1090392302130888704的转发器数量。

我使用以下代码

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客户端和代码结果始终存在差异。

1 个答案:

答案 0 :(得分:1)

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

要对此进行概述,您可以看到https://twitter.com/AmericaTalks/status/1090408203882360832现在有7个转发。如果您单击以查看转发者,它将显示6个帐户,在底部,将显示“ 1个用户要求在此视图中不显示。Learn More”。该API也将仅返回6个Retweet(s)。

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