ぷらっとエイジア〜

シンガポール留学してた筆者のプログラミング記&海外旅行記

【Python】TwitterAPIを使って自動でいいねとフォローを実行するアプリを作ってみた

アプリの作成手順

TwitterApplicationManagementに登録


下記リンク先が丁寧に説明してあるので、それを参考に登録する。

Twitter DevelopersでAPIキーの取得すると書いてある記事もあるのですが、これは昔の話で現在はTwitter Application ManagementからAPIキーを取得するようですね。

※最近Twitterの審査が厳しくなったらしいですが、私の時はすんなり取れました。

Consumer Key (API Key)などを確認・メモ


「Keys and Access Tokens」タブをクリックして「Consumer Key (API Key)」と「Consumer Secret (API Secret)」と「ACCESS TOKEN」と「ACCESS SECRET」をメモっておきます。

またAccess Levelが「Read and write」になっていることも確認しておいてください。

実際のソースコード

該当箇所に取得したAPIkeyを入力し

・word = にいいねやフォローしたい語句(複数ワード可)
・set_count = にいいねやフォローしたい個数

# -*- coding: utf-8 -*-
import tweepy
#xxxxxxxxxxxxxxxxxxxxxは各自取得したAPIをkeyを入れてください。
CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxx'
ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxx'

# インスタンス作成
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

word = ["検索ワード","複数可"]
set_count = 10
results = api.search(q=word,lang='ja',result_type='recent',count=set_count)

for result in results:
    username = result.user._json['screen_name']
    user_id = result.id
    print("ユーザーID:"+str(user_id))
    user = result.user.name
    print("ユーザー名:"+user)
    tweet = result.text
    #print("投稿日時:" + str(result.created_at + datetime.timedelta(hours=9))) #投稿日時を表示    
    print("ユーザーのコメント:"+tweet)

    try:
        api.create_favorite(user_id)
        api.create_friendship(username)
        print("→"+user+"をフォローと「いいね」をしました\n\n")
    except:
        print("!"+user+"はもうフォローしてます\n\n")

注意:上記文字化け起こしてます。

実行した結果

ターミナル上で
python 作成したPythonファイル.py
で実行

実行結果はこちら↓

"タイ" "ラオス"で実行した結果

tweepyをインストールしていないと実行エラーになるので、下記コマンドでインストールしてみてください。
pip install tweepy

API制限

ツイートとリツイート(合算値):3時間で300件
いいね:24時間で1000件
フォロー:24時間で1000件
ダイレクトメッセージ:24時間で1万5000件

※あまりに多くの数でいいねやフォローをしてしまうと公式からスパム扱いを受けるので一度にせいぜい100個まで、ある程度間隔を開けてから行うのをオススメします。

最後に

似たようなアプリをGAS(GoogleAppsScript)でも作ったことありますが、Pythonだとtweepyというライブラリのおかげで圧倒的にコード量が少ないのですぐ実行できます。
Pythonには他にも便利なライブラリがあるので色々と使って見たいと思います。