2015-04-16 48 views
0

我的問題是,雖然流與tweepy鳴叫,retweet_count始終爲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) 
+0

編輯您的代碼。 – gsamaras

回答

2

這是相當正常的它,當你使用流API端點的預期,原因是您收到的鳴叫,因爲它們是活的貼在T當你收到推文時,沒有其他用戶有機會轉推它,所以retweet_count將始終爲0. 如果你想知道retweet_count,你必須在稍後使用rest api重新提取這個特定的推文,那麼你可以看到retweet_count將包含在此特定時間點發生的轉發次數。

0

有一個在JSON文件retweeted_status,幷包含真正retweet_count

+0

retweeted_status包含原始推文的表示形式,它不是一個計數([Tweets Field Guide](https://dev.twitter.com/overview/api/tweets))。 @nickmilon有正確的答案。 –