如何使用Python-Twitter从我的时间轴查看每个转发的用户名?到目前为止,这是我没有重新推文用户名的时间线:
import twitter
api = twitter.Api(xxxxxx)
statuses = api.GetUserTimeline('username', include_rts=True)
for tweet in statuses:
print tweet
我认为您将使用的方法是GetTweets,它需要一个statusID,我不确定如何将状态ID从时间轴调用传递给GetRetweets调用?
提前致谢!
答案 0 :(得分:1)
试试这个:
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
希望有所帮助。
答案 1 :(得分:0)
我想添加@ alecxe的答案,但有评论我不能粘贴很多代码。在我的应用程序中,我发现在获得转发之前检查推文是否有转发是有用的。这在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
答案 2 :(得分:0)
或者你也可以尝试一下。
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()