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()などを用いて一定時間インターバルを取りましょう。
この記事が気に入ったらサポートをしてみませんか?