途中:followersのリストを作る
python-twitterにはlist関係のAPIがないみたい。自分でAPIをいじることにしてみた。
まだ、雑な作りなので準備が必要。
- oauth用のtokenとkeyを取得
- listを作る
oauth用のtokenとkeyを取得
pip install twitter
python-twitterをインストールしたら"twitter"コマンドが使えるので、それを利用して~/.twitter_oauthにtokenとKeyの情報を格納する。
とりあえず
とやって現在のTLを取得できて入れば成功。
listを作る。
手抜きなので、現在あるリストに追加することはできても、新しくリストを作ることができていない(手抜きなので)
本題
username,listnameを書き換えれば使えるはず。
import twitter import json def list_adder_maker(twitter_obj, user, listname, method): def make_request(twitter_obj, uriBase, method=None, kwargs={}): if method is None: method = "GET" headers = {} headers.update(twitter_obj.auth.generate_headers()) arg_data = twitter_obj.auth.encode_params(uriBase, method, kwargs) if method == 'GET': uriBase += '?' + arg_data body = None else: body = arg_data return urllib2.Request(uriBase, body, headers) def fetch(req): try: handle = urllib2.urlopen(req) res = json.loads(handle.read()) response_cls = ( twitter.api.TwitterJsonListResponse if type(res) is list else twitter.api.TwitterJsonDictResponse) return (res, handle.headers) except urllib2.HTTPError, e: if (e.code == 304): return [] else: raise twitter.api.TwitterHTTPError(e, uri, "json", arg_data) uri = "https://api.twitter.com/1/%s/%s/members.json" % (user, listname) return lambda id_value : fetch(make_request(twitter_obj, uri, method, {"id" : id_value})) CONSUMER_KEY='uS6hO2sV6tDKIOeVjhnFnQ' CONSUMER_SECRET='MEYTOS97VvlHX7K1rwHPEqVpTSqZ71HtvoK4sVuYk' oauth_filename = os.path.expanduser("~/.twitter_oauth") oauth_token, oauth_token_secret = twitter.oauth.read_token_file(oauth_filename) twitter = twitter.api.Twitter( auth=twitter.oauth.OAuth( oauth_token, oauth_token_secret, CONSUMER_KEY, CONSUMER_SECRET), secure=True, api_version='1', domain='api.twitter.com') username="<username>" #twitterのアカウント名 listname="<listname>" #作ったリストの名前 adder = list_adder_maker(twitter, username, listname, "POST") import time for follower_id in twitter.followers.ids(): print(follower_id) adder(str(follower_id)) time.sleep(0.3) print("end")