使用 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 将包含在这个特定点之前发生的转发次数及时。
我的问题是,在使用 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 将包含在这个特定点之前发生的转发次数及时。