使用 tweepy returns retweet_count 流式传输 Twitter 始终为 0

Streaming twitter with tweepy returns retweet_count always 0

我的问题是,在使用 tweepy 流式传输推文时,retweet_count 始终为 0。

这是我的代码:

tweet = utf8mb4.sub(u'', tweet.json)
tweet = json.loads(tweet)
print tweet

q = u'INSERT INTO url VALUES (%s, %s);'
for i in tweet['entities']['urls']:
    try:
        insert = (tweet['id'],
                    util.unshorten(i['expanded_url']))
        c.execute(q, insert)
    except IOError:
        continue



tweet['created_at'] = util.isoformat(tweet['created_at'])
tweet['text'] = htmlparser.unescape(tweet['text'])
tweet['source'] = util.strip_tags(tweet['source'])
q = u'INSERT IGNORE INTO status VALUES (%s, %s, %s, %s, %s,%s);'
insert = (tweet['id'],
          tweet['user']['id'],
          tweet['created_at'],
          tweet['text'],
          tweet['source'],
          tweet['retweet_count'])
c.execute(q, insert)

json 文件中有一个 retweeted_status,其中包含真正的 retweet_count

这很正常,正如您在使用流式传输 api 端点时所预期的那样,这是因为您收到的推文是在 Twitter 平台上实时发布的,当您收到推文时,其他用户还没有机会转发它,因此 retweet_count 将始终为 0。 如果你想找出 retweet_count 你必须在一段时间后使用 rest api 重新获取这条特定的推文然后你可以看到 retweet_count 将包含在这个特定点之前发生的转发次数及时。