基本上,当我循环推文时,我知道已经"喜欢"通过在Twitter上看到它们并打印它们最喜欢的计数属性,计数总是为0.喜欢的数量与喜欢的数量不一样/为什么最喜欢的数量始终为0 /如何获得推特的喜欢数量?
现在我正在做以下事情:
print(the_tweet.favorite_count)
我打印时:
print(dir(the_tweet))
我看到很多与推文相关的内容,包括retweet_count和favorite_count,但没有看起来像" like_count"。
答案 0 :(得分:0)
我刚用过这个并为我工作过。我遇到了同样的问题,之所以发生这种情况,是因为我使用了'tweepy',它在json api中返回了favorite_count的两个值,一个值为正确值,另一个值为“0”。当你使用'Twython'时,它只返回一个值,第一个值。
pip install twython
from twython import Twython
id_of_tweet = <tweet_number_id>
CONSUMER_KEY = "<consumer key>"
CONSUMER_SECRET = "<consumer secret>"
OAUTH_TOKEN = "<application key>"
OAUTH_TOKEN_SECRET = "<application secret>"
twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN,
OAUTH_TOKEN_SECRET)
tweet = twitter.show_status(id=id_of_tweet)
print(tweet)
print(tweet['retweet_count'])
print(tweet['favorite_count'])
这个解决方案的一部分就是这个问题:Twitter API - get tweets with specific id
答案 1 :(得分:0)
我遇到了同样的问题,favorite_count
显示了您自己的推文的赞,而the_tweet
对象是您的user_timeline对象,它是推文和转推的混合物。因此,您需要检查是否存在retweeted_status
,以及是否存在favorite_count
(用于转发的推文)在此列表下。请在下面查看我的示例:
def user_tweets(count):
'''
This function uses tweepy to read the user's twitter feed.
'''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# user = api.get_user(twitter_user_name)
user_tweets = api.user_timeline(twitter_user_name, count=count)
return user_tweets
user_tweets(4)# returns your latest 4 tweets and retweets
#to list the number of likes for each tweet and retweet:
for tweet in user_tweets:
try:
print(tweet.retweeted_status.favorite_count)
except:
print(tweet.favorite_count)
如果您使用的是Django模板标签,则可以使用以下内容:
{% if tweet.retweeted_status %}
<small>{{ tweet.retweeted_status.favorite_count }}</small>
{% else %}
<small>{{ tweet.favorite_count }}</small>
{% endif %}
答案 2 :(得分:0)
我遇到了类似的问题。对我来说,问题是推文是转推,处理如下。包括一个新的 tweet.fields 值 referenced_tweets 和 public_metrics,它将返回任何引用的推文作为 ID。然后在新调用(同一路由)中使用此 ID 和 public_metrics 来获取转发推文的真实指标。