使用tweepy流式传输twitter会使retweet_count始终为0

时间:2015-04-16 18:46:58

标签: python twitter tweepy

我的问题是,在使用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)

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

json文件中有一个retweeted_status,它包含真实的retweet_count