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")
コメント