Web Analytics Made Easy - StatCounter

貧乏暇なしB型ブログ

役に立ちそうなことを気の向くまま

PythonでTwitterのフォロー&RT懸賞を自動化してみた

 最近、Twitterのフォロー&RT懸賞にポチポチと応募していたのですが、面倒くさくなったのと、単純作業のフォロー&リツイートするだけなら自動化できるんじゃないかな?と考え、日曜コピペプログラマーの私でも自動化できたので紹介したいと思います。

 目次
1.Twitter Developer&APIの登録
2.Pythonのインストール
3.tweepyのインストール
4.Pyrhonスクリプトの作成
5.タスクスケジューラで毎日の起動登録

1.Twitter Developer&APIの登録

 まずはツイッターAPIを取得する必要があります。ツイッターは自動フォロー&リツイートを禁止していません。むしろ、WEBツールに関するプログラミング教育や、SNSと距離を置いた適切な利用の為に、自動化を推奨しているようにも見受けられます。

使用事例、チュートリアル、参考資料 | Twitter Developer Platform

 登録すると、API KEYやACCESS TOKENを発行することができます。後ほど利用するので、メモしておきます。

2.Pythonのインストール

Python環境構築ガイド - python.jp

 Windows11になったためかインストーラーからではなく、Microsoft Store経由でインストールしないと正常に動作しませんでした。

3.tweepyのインストール

 Python にtweepy というライブラリーをインストールする必要があります。ここからはコマンドプロンプトを使用します。コマンドプロンプトを起動して、
pip install tweepy
と入力してEnterすると、tweepyがインストールされます。

4.Pyrhonスクリプトの作成

 インターネットには星の数ほどウェブサイトがあり、Python を利用したツイッターの操作に関するサイトも同じく星の数ほどあります。ところが、参考にするサイトからコピペして全く同じコードを走らせても、バージョンの違いからか、エラーが出てしまい、思ったように動かない事が多いです。以下に当方で動作しているコードを転記しますが、動作する保証は全くありません。従って、ソフトウェアの使用に起因するいかなる事態の責任も負いません。
 config.pyとtwitter.pyというファイル名で下記コードをそれぞれ保存して下さい。リンク先からダウンロードも可能です。config.pyのAPI KEY、ACCESS TOKENなどは1でしゅとしたものに書き換えてください。

ファイル名:config.py
CONFIG = {
"CONSUMER_KEY":"API KEY",
"CONSUMER_SECRET":"API SECRET KEY",
"ACCESS_TOKEN":"ACCESS TOKEN",
"ACCESS_SECRET":"ACCESS TOKEN SECRET KEY",
}

ファイル名:twitter.py
import tweepy
from config import CONFIG
import time
CONSUMER_KEY = CONFIG["CONSUMER_KEY"]
CONSUMER_SECRET = CONFIG["CONSUMER_SECRET"]
ACCESS_TOKEN = CONFIG["ACCESS_TOKEN"]
ACCESS_SECRET = CONFIG["ACCESS_SECRET"]
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
#countの数だけ検索
count = 5
#q=検索ワード
q = "その場で当たる"
search_results=api.search_tweets(q=q,count=count, result_type="recent")
for result in search_results:
tweet_id = result.id
user_name = result.user._json['screen_name']
user_id = result.user._json['id']
print(user_name,user_id)
try:
#api.create_favorite(tweet_id)
api.create_friendship(user_id=user_id)
time.sleep(1)
api.retweet(tweet_id)
except Exception as e:
print(e)

 京都大学が全学共通科目として実施するプログラミング演習(Python)の教科書として作成している「プログラミング演習 Python 2021」「プログラミング演習 Python 2021(コラム編)」が無料公開中です。興味がある方は是非。OpenCVのLaplacianのスコアについて教えて欲しい。写真の整理が⋯

5.タスクスケジューラで毎日の起動登録

 最後にWindowsタスクスケジューラで毎日定期的に起動するように、タスクを作成します。

 懸賞アカウントを複数作って当選確率を上げる事もできますが、複数アカウントは当落選の確認が面倒くさい&アマゾンレビュー★5返金当選のDMばかり来ます。Amazon買ってはいけない商品リスト化には役立ちますが。

 また、注意しなければならないのは、過度のフォローを繰り返すと、フォロー制限やアカウント凍結となってしまいます。用法用量を守って、楽ちん懸賞生活を送りましょう。