Twitterをpythonで操作する

先日tiwtterをpythonで操作するべく、tweepyというモジュールについて勉強したので備忘録として。
「tweepy python」などで検索したものを参考に書いてみました。
基本的には以下に載せるものを組み合わせ、def関数にして使います。

まずはtwitterに接続するところから。
twitter公式サイトからAPIなるものを取得します。これには10日位かかるためもしやってみるなら早めに申請しとく必要あり。
申請方法はググった一番上の候補とかに普通に載ってます。

#以下がtwitter接続パート
#1モジュールをインポート
#2APIを入力
#イメージはpathを通す感じ ? twitterへの接続ルートを確保するイメージを持ってます。


import tweepy
keys = dict(
screen_name = 'xxx',  #twitterID
consumer_key = 'xxx', 
consumer_secret ='xxx‘, #API Key
access_token = 'xxx', #API Secret
access_token_secret = 'xxx', #Access 
) SCREEN_NAME = keys['screen_name']
	CONSUMER_KEY = keys['consumer_key']
	CONSUMER_SECRET = keys['consumer_secret']
	ACCESS_TOKEN = keys['access_token']
	ACCESS_TOKEN_SECRET = keys['access_token_secret']
	auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
	auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
	api = tweepy.API(auth)

今回は自分のアカウントをフォローしてくれているアカウントのID、およびすでに自分がフォローしているアカウントのIDについて検索をかけました。
→ フォロワー&フォローID検索です。
flollower(フォロワー)、friends(フォロー)です。

※ここで注意点

気をつけたいのはユーザーIDについて検索をかけているところです。
twitterアカウントにはuser idなるものとscreen nameなるものがあります。
user id:アカウントそれぞれに不変のもの。数字列。
screen name:@xxxxなどで表記されるもの、変更可能。一般に想像するIDはこっち。
つまりuser idで検索をかければ、一個の固有なアカウントを見つけることができるわけですね。便利!

	follower_ids = api.followers_ids(SCREEN_NAME)
	friend_ids = api.friends_ids(SCREEN_NAME)def 

あとは個別のidを照らし合わせ、まだフォローしてない人とかを調べたりもできます。
このとき、先程のscreen name(@xxx)しかわからないけど検索かけたいって場合もあると思います。
そんなときは

user_id = api.get_user(screen_name)

とすればscreen name → user idに変換可能です。
あとは凍結済みもしくは削除されたアカウントのせいでエラーを出す場合があるので、

try:
    ~~~~~ #プログラム本体
except tweepy.error.TweepError:
    print('削除済みです')

とかでエラー対策とかもやっとく必要がありました。

tweepyを使えばDMを送ったり、フォロー数&フォロワー数とか調べたりいろいろできるので便利そうです。

あとはスパム回避のため、time.sleep()などを用いて一定時間インターバルを取りましょう。


この記事が気に入ったらサポートをしてみませんか?