Twitterでいろんな情報を集めたいので、自動フォローとリストインをpython+tweepyコードをパクってみた
こういうことをTwitterでやるとアカウントBANになるのかも知れませんが、TLからいろんな情報を集めたいのでTweetを検索してリストにいれるBOTを作ってみました。
1.自動リストイン構想
興味のある話はTwitterにかなり流れて居るのですが、せっかくの情報がTLに埋もれて見逃してしまうことがあるので、そのカテゴリーのTweetをじっくり見させてもらいたいのが目的です。
フォローせずにリストだけ入れると相手方に気を悪くされそうな気がするのでフォローとリストインにしました。
勝手にフォローしても許してくれそうな人、ハッシュタグで検索しても良いよオーラの出てる人主体にする。
できるだけ怪しいアカウントは検索したときに選別しておきたい。
2.Twitter API v2では難しそう
ツイートを検索して取得とかは比較的簡単にできるようなんだが、自動フォローやリストインが私のような初心者コースではかなり難関な感じがします。
ググっても出てこないんですが、何が難しいってTwitterAPIのV1.1とV2の情報が混在していて私にはわけがわからない。
3.妥協してTwitterAPIV1.1のコードを拾ってきて少し弄ってみた。
TwitterにAPI V1.1を使いたいんじゃ申請をして。パクリ元、いや引用元は以下の通り。
TweepyでTwitterアカウントを自動フォローする方法 | みゃふのPythonプログラミング解説
import tweepy
import time
# API情報(API1.1)を記入
consumer_key=' '
consumer_secret=' '
ACCESS_TOKEN=' '
ACCESS_TOKEN_SECRET=' '
#API V1.1認証
auth = tweepy.OAuthHandler("consumer_key","consumer_secret")
auth.set_access_token("ACCESS_TOKEN","ACCESS_TOKEN_SECRET")
api = tweepy.API(auth)
#検索したいキーワードをいれる。もしくははORにしてやれば良いみたい。
#リツイートは拾いたくないのでフィルターする。
query = "#レザークラフト OR #LeatherCraft -filter:retweets"
#CRONで定期的に動かすのでバン対策にカウント少なめにした。
#検索方法は新しいもの(recent)、人気なもの(popular)と混在型(mixed)があるらしい。
results = api.search_tweets(q=query,result_type='mixed',count=10)
#実行
for result in results:
#検索結果でユーザーを抽出
screen_name = result.user.screen_name
print('@' + screen_name + 'をフォロー処理中...')
for i in range(3): #RateLimitにかかったら3回までリトライ
try:
if result.lang == 'ja': #日本語ユーザーかどうかフィルタリング
api.create_friendship(screen_name=screen_name) #フォローする
api.add_list_member(screen_name=screen_name,list_id="リスト番号") #リストにそのツイートのユーザ名を追加する
print('@' + screen_name + 'さんのフォローに成功しました。')
else:
print('@' + screen_name + 'さんは日本語アカウントではありません。')
except tweepy.TweepError as e: #エラーはこっちで処理(この辺の理解がまだできてない)
if e.reason == "[{'message': 'Rate limit exceeded', 'code': 88}]":
print(e)
time.sleep(15 * 60) #15分待機
else:
break
else:
time.sleep(5) #5秒おく
break
こんな具合でほぼパクってきたものをちょっといじってそのまま動かした。
引用元さんありがとう。
V2でやるにはどうやったら良いのだろう?今の私には少し難問だったようだ。
Amazon Mastercard (アマゾン マスターカード) 最大2%ポイント還元
¥1入会ポイント 2,000ポイント以上付与
(2024年11月21日 22:54 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
東洋アルミ(Toyo Aluminium) 換気扇 フィルター 整流板 貼るだけ 切り取りミシン目付き 約64cm×91cm 1枚入 フィルたん S3074
原産国:日本 本体重量:約65g 枚数:1枚入り 付属品:落下防止面ファスナー1シート(4個入)、取付補助磁石2個入 材質:難燃性不織布 商品サイズ:約64x91x1cm ミシン目が入っているので、サイズ調整が簡単に行えます。 ●粘着加工でシールみたいに手軽に取付できる、キッチンの換気扇フィルターです。整流板付レンジフード専用。幅60cm~90cmの整流板付き換気扇に対応しています。給油量約2倍の厚手フィルターで油汚れをしっかりキャッチしお掃除の負担を軽減します。交換お知らせサイン付きで交換時期... もっと読む
(2024年11月22日 01:17 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
サンワサプライ 電源延長コード 2m トラッキング火災予防絶縁キャップ付きスイングプラグ TAP-EX2102 ホワイト
¥830タップや機器の電源延長に便利。トラッキング火災防止絶縁キャップ付スイングプラグ採用の延長コード ACアダプタの電源延長に便利です。 トラッキング火災を予防できる絶縁キャップ付スイングプラグを採用しています。 PSE(電気用品安全法)技術基準適合品でトラッキング対策適用範囲拡大対応です。(耐トラッキング性試験、グローワイヤ燃焼性試験認可) RoHS指令に対応した製品です。 【定格容量】:15A・125V(1500Wまで) 【プラグ仕様】:2Pオス(絶縁キャップ付きスイングプラグ)・2Pメス 【電源... もっと読む
(2024年11月21日 23:01 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
ディスカッション
コメント一覧
まだ、コメントがありません