tweepyでいいねとフォロー
前回に引き続きPythonとtweepyを使用してTwitterAPIを叩くコードを記事にしたいと思います。前回の記事でも記載しましたが、TwitterAPIを叩くコードを実行するためにTwitterAPI規約を読んでください。APIを叩ける回数には制限があります。30分に15回ほど叩いたら制限が入ると考えておいてくれれば良いと思います。
まずはキーワード検索部分といいね部分を作成する
いいねとフォロー部分を作る前にまずはユーザーを検索できるようにしないといけません。tweepyAPIのsearchメソッドを使用します。そしてその結果からユーザーの情報を引き出します。
コードは以下の通りです。最終的に自動でフォローできるようにしたいのでファイル名はauto_follow.pyとしています。いずれファイル名を変更するかもしれませんが今はこのまま行きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
auto_follow.py import tweepy import const # この辺は前回と同じなので別のファイルにまとめてもいいと思います。 CONSUMER_KEY = const.CONSUMER_KEY CONSUMER_SECRET = const.CONSUMER_SECRET_KEY ACCESS_TOKEN = const.ACCESS_TOKEN ACCESS_SECRET = const.ACCESS_TOKEN_SECRET # この辺は前回と同じなので別のファイルにまとめてもいいと思います。 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) #SEARCH_KEYWORDには'検索のキーワード'を入れる q = const.SEARCH_KEYWORD #COUNTには検索数を入れる count = const.COUNT #LANGには'ja'を入れる日本語だけ検索できるようになる lang = const.LANG #search_resultsに検索結果が入ります search_results = api.search(q=q, count=count, lang=lang) for result in search_results: username = result.user._json['screen_name'] user_id = result.id try: print (username) api.create_favorite(user_id) except Exception as e: print(e) |
api.create_favorite(user_id)の部分が実際にいいねする部分です。ちなみに既にいいねされていると失敗するのでご注意ください。create_favoriteメソッドを使用する場合には検索結果の中からidを抜き出して引数に指定して実行して下さい。詳細はtweepyのAPI Referenceに記載があります。
まだ改良の余地がかなりありますが、とりあえずそのまま進めます。
フォロー部分を作成する
ここまで作成できていれば後はtweepyAPIからフォローを行うAPIを叩けばよいだけです。使用するメソッドはcreate_friendshipです。引数に指定できる値は色々ありますが、今回はscreennameを使用します。先ほど書いたコードのいいね部分だけこちらに置き換えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
auto_follow.py import tweepy import const # この辺は前回と同じなので別のファイルにまとめてもいいと思います。 CONSUMER_KEY = const.CONSUMER_KEY CONSUMER_SECRET = const.CONSUMER_SECRET_KEY ACCESS_TOKEN = const.ACCESS_TOKEN ACCESS_SECRET = const.ACCESS_TOKEN_SECRET # この辺は前回と同じなので別のファイルにまとめてもいいと思います。 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) #SEARCH_KEYWORDには'検索のキーワード'を入れる q = const.SEARCH_KEYWORD #COUNTには検索数を入れる count = const.COUNT #LANGには'ja'を入れる日本語だけ検索できるようになる lang = const.LANG #search_resultsに検索結果が入ります search_results = api.search(q=q, count=count, lang=lang) for result in search_results: username = result.user._json['screen_name'] user_id = result.id try: print (username) api.create_friendship(username) except Exception as e: print(e) |
これでフォローできるコードが作成できました。まぁこれだけだとあんまり役に立ちません。改良ができたらまた記事を作成しようと思います。
今回の記事は以上となります。最後まで読んで頂きありがとうございます。