Python Twitter APIでいいねとフォローを自動化する

Python


こんにちは、Daiです。TwitterにはPython用のAPIが存在するのはご存知でしょうか。Tweepyというモジュールを利用すれば、ツイートデータを検索して取得したり、(search)タイムラインを取得したり(timeline)ツイートしたり(tweet)、いいねしたり(like)、リムーブしたり(remove)、フォローしたり(create_friendship)、それぞれの処理を自動化できます。

PythonでTwitter APIを利用して、いいねとフォローを自動化します。

環境

  • 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)