tweepyライブラリでTwitterの自動フォローを実装する

スポンサーリンク

tweepyライブラリとは?

tweepyは、Twitterを操作するライブリで、特定のユーザ情報やツイートの取得、自動フォローなどがコマンドで実行できます。

短時間に多くの処理を行うと、Twitterに与えるサーバ負荷から、不正アカウントとしてアカウントに制限がかかり、最悪アカウントが削除されてしまう可能性もあります。

Twitterの仕様として、定められた1日あたりフォロー数の制限があります。

すべてのTwitterアカウントは1日に最大400アカウントまでフォローできます。認証済みTwitterアカウントは1日に最大1,000アカウントまでフォローできます。

Twitter>ヘルプセンター

ライブラリを読み込む

import tweepy #Tweepyライブラリ
from datetime import timedelta #日時ライブラリ>timedelta関数
import time as t #時間ライブラリ

APIインスタンスを作成する

事前にTwitter Developerでキー情報を取得してください。

関連リンク
CK="xxxxx" #Consumer Key
CKS="xxxxx" #Consumer Key Secret
AT="xxxxx" #Access Token
ATS="xxxxx" #Access Token Secret

#APIインスタンス作成関数
def connect_api():
  auth = tweepy.OAuthHandler(CK, CKS)
  auth.set_access_token(AT, ATS)
  api = tweepy.API(auth)
  return api

api=connect_api() #APIインスタンスの作成

指定したキーワードと件数から検索結果を取得する

q="xxxxx" #検索キーワードを入力
count=10 #検索件数を入力
 
print("検索キーワード「"+ q +"」から"+ str(count) +"件分をフォローします。")

フォロー処理と例外処理を実装する

search_results=api.search(q=q, count=count)
 
for result in search_results:
  username=result.user.name #ユーザ名を取得
  user_id=result.user._json["screen_name"] #@idを取得
  time=result.created_at + timedelta(hours=9) #最新のツイート日時を取得
  print( str(username) +"@"+ str(user_id) +" tweet:"+ str(time) )

  try:
    api.create_friendship(user_id) #フォロー
  except tweepy.TweepError as e:
    print( "TweepError " + str(e) )
    t.sleep(15 * 60) #15分待機
    except tweepy.RateLimitError as e:
    print( "RateLimitError " + str(e) )
    t.sleep(15 * 60) #15分待機
  except Exception as e:
    print( "Exception " + str(e) )
    t.sleep(10) #10秒待機
  else:
    print("フォロー完了")
    t.sleep(10) #10秒待機

print("end")

コメント

タイトルとURLをコピーしました