Python Twitter APIでいいねとフォローを自動化する
最終更新日:
こんにちは、Daiです。TwitterにはPython用のAPIが存在するのはご存知でしょうか。Tweepyというモジュールを利用すれば、ツイートデータを検索して取得したり、(search)タイムラインを取得したり(timeline)ツイートしたり(tweet)、いいねしたり(like)、リムーブしたり(remove)、フォローしたり(create_friendship)、それぞれの処理を自動化できます。
PythonでTwitter APIを利用して、いいねとフォローを自動化します。
目次 (PRも含まれます)
環境
- python 3
- Cloud9を利用
Tweepyのインストール
さて、使い方を紹介する前に、Tweepyをインストールしましょう。まずは、ターミナル上で以下のコマンドを入力し、Tweepyをインストールします。
$ sudo pip3 install tweepy
ソースコード
やることとしては
- Twitter APIで特定の語句を検索する
- 特定の語句をツイートしたツイートをいいねと、そのツイートをした人を自動フォロー
です。
こちらがコードとなります。
import tweepy
# 各種キーをセット
CONSUMER_KEY = 'xxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_TOKEN = 'xxxxxxxx'
ACCESS_SECRET = 'xxxxxxxx'
#APIインスタンスを作成
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
#検索キーワード
q = "PythonとかScrapyとか使ってクローリングやスクレイピングするノウハウを公開してみる" #ここに検索キーワードを設定
count = 100
search_results = api.search(q=q, count=count)
for result in search_results:
username = result.user._json['screen_name']
user_id = result.id #ツイートのstatusオブジェクトから、ツイートidを取得
user = result.user.name #ツイートのstatusオブジェクトから、userオブジェクトを取り出し、名前を取得する
tweet = result.text #ツイートの内容を追加
time = result.created_at #ツイートの日時を取得
try:
api.create_favorite(user_id) #favする
api.create_friendship(user_id) #フォローする
except Exception as e:
print(e)