Tweepyでpythonについて呟いたアカウントをフォローしまくってみた

こんにちは。毎週のように友達と集まっては土日もプログラミングをしている太鼓眼鏡です 最近集まる人数が増えてきて楽しい限り。興味ある人連絡ください。

今回の目標

今回の目標は、以下2手順。

  • Tweepyというライブラリで、単語検索
  • 検索にひっかかった人頭10人を自動フォロー

検索ワード自体はなんでもいいのだけど、今回はひとまずpythonで検索かけます。

参考記事

qiita.com

www.statsbeginner.net

kivantium.hateblo.jp

qiita.com

Tweepy Documentation — tweepy 3.3.0 documentation

コードを書いてみる

今回作ったのは2ファイル。初めてimportをしてみました

1. apiを利用するための準備

import tweepy

# 各種キーをセット
CONSUMER_KEY = 'xxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxx'
ACCESS_TOKEN = 'xxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxx'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

#APIインスタンスを作成
api = tweepy.API(auth)

まずtweepyをインポートします。 その後Consumer keyなどをセットして、APIインスタンスを作成。 これは決まり文句みたいなものなのでここまでで保存しておきます。

今までは毎回これを頭に書いていたんだけど、 これをモジュールとしてimportできるということで、今回はそちらもチャレンジ。

ファイル名を「oauth.py」で保存。

2. 自動フォローしまくる

import oauth
api = oauth.api

q = "python" //検索ワードをセット
count = 10 //検索数をセット

//検索実行
search_results = api.search(q=q, count=count)

//結果を順番にフォロー
for result in search_results:
    screen_id = result.user._json['screen_name']
    print(screen_id)
    api.create_friendship(screen_id)

「import oauth」で「oauth.py」をインポート。この後呼び出しやすいように、oauth.apiapiにしておきます

あとは割りと直感的に読みやすいと思うんですが、

  1. 検索ワードと数を指定
  2. api.searchで検索を実行
  3. 検索結果から順にscreen_nameを取得、一応ターミナルに出力してからフォロー

実行結果

f:id:cyclemem:20170708150548p:plain

わりと簡単に10人一気にフォローができるのいいですね。 しかもすぐ5人くらいからフォローバック来たから、検索ワードで狙い撃ちしたらいい感じ。