获取转发的用户名?

2024-04-28 19:59:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用pythontwitter查看时间轴上每个转发的用户名?以下是我到目前为止所拥有的,它将时间轴带回到没有重新推特用户名的情况下:

import twitter
api = twitter.Api(xxxxxx)
statuses = api.GetUserTimeline('username', include_rts=True)
for tweet in statuses:
    print tweet

我认为您将使用的方法是GetTweets,它需要statusID,我不确定如何将status ID从timeline调用传递到GetRetweets调用?在

提前谢谢!在


Tags: importapiincludeusername情况twitter用户名tweet
3条回答

试试这个:

import twitter

t = twitter.Api(...)

statuses = t.GetUserTimeline('username', include_rts=True)

for tweet in statuses:
    retweets = t.GetRetweets(tweet.GetId())
    users = [retweet.GetUser().GetScreenName() for retweet in retweets]
    print tweet.GetId(), users

希望有帮助。在

或者你也可以试试这个。在

import twitter

t = twitter.Api(...)

statuses = t.GetUserTimeline('username', include_rts=True)

for tweet in statuses:
    retweets = t.GetRetweets(tweet.GetId())
    users = [retweet.GetUser().GetScreenName() for retweet in retweets]
    print tweet.GetId(), users
    print tweet.GetRetweets()

我想添加到@alecxe的答案中,但是加上注释我无法粘贴太多代码。在我的应用程序中,我发现在得到这些转发之前检查tweet是否有转发是很有用的。这在API配额方面节省了一点。我修改了@alecxe的代码以满足我的需要:

import twitter, json

t = twitter.Api(...)

statuses = t.GetUserTimeline('username', include_rts=True)

for tweet in statuses:
    json_tweet = json.loads(str(tweet))

    rts = 0
    try:
        rts = json_tweet['retweet_count']
    except:
        rts = 0

        if rts > 0:
            retweets = t.GetRetweets(tweet.GetId())
            users = [retweet.GetUser().GetScreenName() for retweet in retweets]
            print tweet.GetId(), users

相关问题 更多 >