マイムの部屋

社内SEが,興味をもったことを書いていきます.

Tweepyで,あるユーザのツイートをリツイートしたユーザの情報取得

今回はTweepyを使って,あるユーザのツイートをリツイートしたユーザの情報取得してみたいと思います.

今までjavaのTwitter4jで色々行ってきました.しかし,リツイートしたユーザ情報を取得するためのメソッドである getretweeterIds というのがあるのですが,引数をちゃんと与えているはずなのに動かない.なんやこれ...orz
そのため,急遽Tweepyを使ってその情報を得ることにしました.pythonは"Hello world"を出力した程度だったので,参考ソースコードが外国語みたいにしか見えなかった.
しかし,そんなことも言ってられないので頑張って書いたソースコドが以下のようになります.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import absolute_import, print_function

import tweepy
from tweepy import OAuthHandler

consumer_key="自分のconsumer_key"
consumer_secret="自分のconsumer_secret"
access_token="自分のaccess_token"
access_token_secret="自分のaccess_token_secret"

if __name__ == '__main__':
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth)

    useruser = api.user_timeline(id=あるユーザのID)
    
    for rt in useruser:
        retweeter = api.retweets(id=rt.id_str)
        for rter in retweeter:
            print ("tweet:" + rter.text)# リツイートしたツイート表示
            print ("screen_name:" + str(rter.user.screen_name))# リツイートした人のscreen_name
いろいろ変数名に対するツッコミとかあると思いますが,動くのでソッとしてくださいm(_ _)m

参考サイト