
pythonを使ったtwitter自動化-twitter懸賞自動応募で0→1突破実績あり・スクレイピング対応済み-
=====================2023/5/7追加======================
TwitterAPIの利用が制限されてしまい、使えない方も多いかと思います。そこで、twitterをスクレイピングする方法を追記しています。Googleで検索しても2023年の最新情報は出てこないので、ここだけの情報です。
スクレイピングをしたい人は、一番最後の「Twitterをスクレイピングする方法」だけお読みください。
現段階では、いいねとリツイート、フォロー、トレンドのスクレイピングを行うことができます。
情報は随時追加していくので、そのタイミングで値上げもしますが、一度購入されている方は、追加料金かかりません。
そのため、現在が最安値です。

=====================================================
「twitterの懸賞に毎日時間を取られてしまう」
twitter懸賞に参加するにも該当ツイートを探して、フォローとリツイートをして、懸賞条件を満たすために他のアカウントもフォローして…
単純作業ですけど、意外と時間が取られてしまいますよね?
ならば、この単純作業を自動化してしまえば、時間も浮いて、一種の不労所得になります。
このnoteではtwitter懸賞に時間を取られているあなたに向けて、自動応募する方法をお伝えしていきます。
前半部分ではtwitterを自動操作する方法、後半部分ではtwitter懸賞を自動化する方法の解説となっています。
twitter懸賞の自動応募は放置しておくだけで収益を得られるので、ブログやnote執筆などの副業をせずとも、0→1突破をすることができます。
1ヶ月続ければ、当選額でペイできるはずなので、ぜひ利用してみてください。
また、複数アカウントでも利用できるように解説しているので、twitterアカウントを複数運用すれば、さらに当選確率は上がります。
以下は実際に当選したpaypay受け取りの画像です
これは一部で他にもamazonギフト券なども当選しました



twitter自動操作と懸賞自動化の準備
twitterを使っている人なら、「いいね」「フォロー」などの自動化を考えたことがあるのではないでしょうか?
Tweetdeckを使用すれば、予約投稿はできますが、自動いいねや自動フォローは難しいですよね
ですが、今回紹介するコードをコピペしてもらえれば、自動で「いいね」「フォロー」などをすることができます
さらにherokuを使用して、スケジュール設定を行うことで、パソコンを立ち上げていない状態でも、予約時刻になると自動でプログラムが起動するようになります
今回紹介するコードを使って、twitterを運用した結果、以下のようになりました。


1つ目のアカウントは一日に3ツイートくらい、
2つ目のアカウントはほぼツイートしていませんが、上記のような伸び方をしています
うまく使えば、これ以上の伸びも可能だと思います。
SNS運用を成功させたい場合には、ある程度の自動化は必須になります。
あくまでもSNSは手段であるため、以下に効率よく収益化を図るかが重要になります。
いつまでも単純作業に時間を溶かしていると、本来稼げるはずだった収益を取りこぼすことになります。
ぜひ、このコードを使って収益化upを狙ってみてください。
今回はtwitterの自動化コードとそのために必要なAPI取得、設定が難解なherokuの設定をどこよりも詳しく解説していきます
twitterの自動化コードは一番最後に記載しています
必要なのはパソコンとpythonの環境だけです
これからpythonを学び始める方は、以下の記事からpythonの環境構築を行ってください
また利用に関しては、twitterの規約に則って使用してください
pythonを使える環境にいないけど、
pythonのプログラムを動かしたい場合
pythonの開発環境がないけど、pythonのプログラムを実行したい場合には、google colaboratoryを使用すれば、面倒な初期設定などはせずにpythonのプログラムを実行することができます!
詳しくは以下の記事を参考にしてください!
2022/10/9更新
Twitter API v2に対応したコードを追記しました
これまではtwitter APIのバージョンが1.1だったので、問題なく稼働させることができていました
しかし、ある日からv2になっており、稼働しない方も出てきたので、twitter API v2に対応したtwitter自動化のコードを追記しました。
これまでとは異なり、「bearer_token」が必要になるのですが、取得方法はこちらのnoteに書いてある方法で問題ありません。
v1.1とは違ってユーザーIDが取得しにくくなっていました
なので、正規表現でユーザー名を取得し、適切な文字列に整形後、ユーザーIDを取得する、というめちゃくちゃ遠回りの方法をとっています。
もしかしたら簡単にユーザーIDを取得できるのかもしれませんが、僕が調べた限りではなさそうです。
Twitter APIを取得する
まずはtwitternAPIを取得します
以下のサイトに飛び、twitter API申請を行います。
https://developer.twitter.com/en/apps/
なお、2アカウント目以降の場合には、以下のサイトに飛びます
https://tools.tsukumijima.net/twittertoken-viewer/
twitter APIの登録方法は、年々変化しているようで、私が最初に登録したときは、一番最初に利用目的などを入力する必要がありました。
今回、再度登録してみたところ、そういった類のものは無くなっており、Apply for Elevatedを行う必要があるみたいです
基本的には以下を内容を参考にしてもらえれば、登録できるはずです。
ページにアクセスし、「Create an app」ボタンをクリックします。

「Apply」をクリック

必要事項を入力。4項目目は「No」にしておき、チェックボックスも空欄にしておきましょう。(チェック入れるとメルマガがきます)
3項目目はなんでもいいですが、今回は「Making a Bot」にしています。

「Next」をクリックで次に進み、「submit」します。
ここはtwitterアカウントに電話番号を登録していないと、submitすることができません。
まだ登録していない方は、登録しておきましょう。

「submit」すると以下の画面になります

twitterアカウントに登録しているアドレスにメールが届くので、そちらを確認しましょう
「Confirm your email」をクリックすると、developerのページに飛びます

メールをクリックすると以下のサイトに飛びます。
ここでAPIキーなどはコピペして保存して、「skip to dashborad」をクリックします

コピペが完了したら、ダッシュボードに遷移します

これでtwitterAPIの登録は完了です
twitter自動化プログラムの登録
ここからはtwitter自動化のプログラムを登録していきます
以下のサイトを利用します
1.ダッシュボードから「Projects & Apps」をクリック

2.「Project1」の下にある「〇〇〇〇」をクリック

3.「set up」をクリック

4.「OAuth 1.0a」を選択

6.「Read and write」を選択し、「Callback URL」「Website URL」に以下のサイトのURLを入力
https://tools.tsukumijima.net/twittertoken-viewer/

7.「save」をクリック

8.webサイトで登録を行う
「コンシューマーキー(API key)」「コンシューマーシークレット(API secret key)」を入力し、「認証」をクリック

9.twitterで認証する

これでpythonで作成したプログラムを使用することができるようになります。
Apply for Elevatedを行う
続いてApply for Elevatedを行っていきます
こちらを行うことで、favやRT、フォローなどを行うことができます
いくつか質問されるので、そちらに答えていきます
1.In your words
「We use the Twitter API to create a bot program that posts automatically. Use the API to automatically post tweets about recommended products that are listed in the popularity ranking using Google Apps Script.」
2.Are you planning to analyze Twitter data?
ここはtwitterのデータを解析に使うかどうかです。
Botの作成であれば使用しないため、「No」にしておきます
3.Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?
アプリでツイート・RT・fav・フォロー・DMを使用するかどうか
ここは使用するため「Yes」にして、以下のように書いておきます
「We plan to create a Bot function that automatically tweets the articles created on the blog.
We will also create a function to automatically follow people who like or retweet the bot's tweets.
I also want to create a feature that automatically sends a thank you direct message to users who follow my account.」
4.Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?
Twitterのコンテンツに関するツイートや集計データをTwitterの外部で表示する予定はありますか?
ここはBotでは使用しないので「No」にします
5.Will your product, service, or analysis make Twitter content or derived information available to a government entity?
貴社の製品、サービス、分析によって、Twitterのコンテンツや派生する情報を政府機関が利用できるようになりますか?
ただのBotなので「No」にします
あとは「Next」をクリックして、「Submit」すれば完了です
その後、pendingされるので、認証のメールを待ちましょう
認証メールを待っている間に以下のようなメールが来た場合には、より詳しく説明をする必要があります

それぞれの返信は以下のようにしました
Q1.The core use case, intent, or business purpose for your use of the Twitter APIs.
A.We use the Twitter API to create a bot program that posts automatically.
Q2.If you intend to analyze Tweets, Twitter users, or their content, share details about the analyses you plan to conduct, and the methods or techniques.
A.We do not plan to use Twitter APIs to retrieve some content from Twitter and display it on sites other than Twitter. I use Twitter APIs solely to tweet the information of me and my service.
Q3.If your use involves Tweeting, Retweeting, or liking content, share how you’ll interact with Twitter accounts, or their content.
A.I use this Twitter account to interact with users by logging into this account directly from Twitter on the web or mobile app instead of using Twitter APIs and tweeting like normal users or tweeting It will be realized by doing.
The content of that tweet will be mainly to answer the question of the user of my service by reply or to tweet the update information of the service.
Q4.If you’ll display Twitter content off of Twitter, explain how, and where, Tweets and Twitter content will be displayed with your product or service, including whether Tweets and Twitter content will be displayed at row level, or aggregated.
A.If there is Twitter content in my service, it will be about putting a Twitter share button. You will place the buttons on a part of the menu of my service or in the corner on the screen. However, it is not done using Twitter APIs.
Thanks.
そしたら、今度は日本語で送られてきたので、日本語で送り返します

Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
ここでいう「ビジネス上の目的」には営利事業に必ずしも関係しない用途も含まれますのでご注意ください。Twitterコンテンツを使用して対応しようとしている問題、ユーザーストーリー、または全体的な目標についての情報が必要です。
→pythonを利用して、自動投稿を行う予定です。自動投稿を行う内容は、当方が作成しているwebサイト(https://python-man.club)を中心にツイートをしていきます。
学生、コーディング学習者、またはTwitter APIの初心者であるお客様は、実施予定のプロジェクトまたは重点分野の詳細をご提供ください。
→実施予定のプロジェクトは、自動投稿をメインに行います。
ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお知らせください。
ここでいう「分析」にはTwitterコンテンツに対して行われるあらゆる形式の処理が含まれますのでご注意ください。使用目的については可能な限り詳細かつ完全な説明をお願いいたします。
ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお知らせください。
→Twitter APIsを利用してTwitterから何らかのコンテンツを取得し、それをTwitter以外の場所で表示する予定はありません。私がTwitter APIsを利用するのは、もっぱら、私と私のサービスが持つ情報をツイートをするためです。
TwitterコンテンツをTwitter以外で表示する場合は、お客様の製品またはサービスのユーザーに対して、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明ください。
→私のwebサイトにTwitterのコンテンツがあるとすれば、Twitterのシェアボタンを置くぐらいでしょう。私のwebサイトのメニューの一部、もしくは画面上の隅の方にボタンを配置するでしょう。しかし、それはTwitter APIsを用いておこなうのではありません。
上記を送った数時間後に承認のメールが届き、ダッシュボードも若干の変化がありました。


これでbotでの投稿やfav・RTが可能になりました
herokuの登録
次にherokuの登録を進めていきます
herokuの登録自体はそんなに難しくないので、以下のサイトを参考に進めればOKです
git hubの登録
herokuの登録が終わったら、git hubにも登録をしておきます
git hubも簡単に行えるので、以下のサイトを確認してください
heroku CLIをインストールする
スケジューラーを使用するのに、heroku CLIというものをインストールする必要があります
heroku CLIはこちらを参考に進めましょう
git hub desktopをインストールしておく
GitHub desktopをインストールしておくと、作業が楽になります
herokuにプログラムをデプロイする
ここからは実際にherokuにプログラムをデプロイして、定期実行する流れになります
ここが1番悩ましいところですが、画像付きで解説していきますので、頑張ってデプロイしていきましょう
herokuを利用する場合には、homebrewをインストールしておくと楽なので、homebrewを入れておくことをオススメします
gitとherokuのバージョンを確認しておく
git --version
heroku -v
まずは定期実行したいコードをデスクトップに保存しておきます
今回は私は「pythonauto」というフォルダを作成し、そこにコードを保存しています
また、定期実行を行う際には、「requirements.txt」「runtime.txt」が必要になるので、「pythonauto」というフォルダ内に保存をしておきます
「requirements.txt」:ローカルにインストールしてあるpythonのライブラリを書いておく
例)tweepy
「runtime.txt」:herokuでインストールするpythonのバージョンを記載しておく
例)python-3.9.9

画像のようにフォルダの中に3つのファイルが入っている状態にします
ターミナルを起動し、herokuにログインします
heroku login
ログインすると、何かキーを押してくださいと表示されるので、何かキーを推します
heroku: Press any key to open up the browser to login or q to exit:
キーを押すと、ブラウザでherokuにログインするように求められるので、ログインします
ログインに成功したらターミナルに戻ります
herokuに新規アプリを作る
ログインができたら、ターミナルに戻り、最初に作成したデスクトップ上のフォルダに移動します
cd XXXXXXXXXX(フォルダのパス名)
その後、herokuに新規アプリを作ります
heroku create xxxxx(好きなapp名)

app名が他の人が使用していると、使えず上記のように「Name pythonauto is already taken」と表示されます
そういう場合には、
heroku create
だけ入力すれば、勝手にapp名が作られます

appの作成がうまくいくと、上記のようになります
git hubにコードを保存する
appの作成までうまくいったら、git hubにコードを保存していきます
githubにログイン後、右上「+」から「New repository」をクリックし、新たなレポジトリを作成していきます
レポジトリの名前を求められるので、好きな名前を入力し、「Private」にチェックを入れ、「Create repository」をクリックします

その後、以下の画面になるので、「uploading ~~~」をクリックし、デスクトップ上のフォルダに保存している3つのファイルをドラッグで追加します


ドラッグ後、真ん中あたりにドラッグしたファイルが表示されていればOKです
左下、緑のボタンをクリックします
そうすると以下のようにファイルが追加されます

git hubへの登録はこれでOKです
herokuとgithubを連携する
ここまで来たらあと少しでおしまいです
herokuとgithubを連携させていきます
herokuのwebサイトに移り、先ほど作成したapp名をクリックします

その後「deploy」をクリックし、githubとの連携を行います

githubをクリックすると「search」が出てくるので、クリック

その後、下にレポジトリがいくつも出てくるので、先ほど作成したレポジトリをクリックします

connectが成功したら、「deploy」タブがあったとこの一番右側「setting」に移ります
settingの「Add building」からpythonを選択していきます



Addが完了したら、「deploy」タブに戻り、githubが「connected」になっているのを確認しましょう

「connected」になっていたら、下までスクロールして「deploy Branch」をクリックします


デプロイに成功すると以下のようになります

これでherokuとgithubの連携は終了です
ターミナルに戻って、herokuにデプロイしていきます
herokuにアプリをデプロイ
ターミナルに戻り、
$ git init
$ git remote add heroku XXXXXXXXXXXXXX
$ git add .
$ git commit -m "aap commit"
$ git push heroku master
順番に入力していきます
「XXXXXXXXXXXXX」の部分はherokuのsettingタブのheroku git URLに書いてあります
またさ、最後の「git push heroku master」で「master」でうまくいかない場合には「main」に変更して、登録を行います
最後までうまくいくと、以下のようになります

これでherokuにデプロイできました
最後にスケジューラーの設定です
追記:herokuから直接プッシュする方法
herokuを使っている方は、こんなメールが来たのではないでしょうか

パスワードのリセットしたからよろしくねー
って感じです。
これはOAuthトークンと呼ばれるものが流出したが故に見たいです
そのおかげでgithubとherokuの連携ができなくなっています。
なので、herokuから直接プッシュする必要があります。

herokuにログイン→アプリ名クリック→Deploy
を選びます。
その後、Heroku Gitを選択し、ターミナル上でheroku CLIにログインします。
heroku CLIは記事の中盤くらいで解説しているので、戻って確認してください。
ログイン後、以下のコードをターミナル上で入力します。
$ heroku git:clone -a アプリ名
$ cd アプリ名
これでOKです。
herokuスケジューラーの設定
Heroku Schedulerを使う場合は無料枠の範囲でもherokuにクレジットカードを事前に登録しておかなければいけません。
(プランを変えない限り勝手に課金されることはありません。)
herokuのAccount settingからbillingタブに移り、カード情報を登録していきます

カードの登録が終わったら、スケジューラーを追加していきます
ターミナルに移り、
heroku addons:add scheduler:standard
と入力します
するとアドオンの追加ができます
その後、
heroku addons:open scheduler
と入力を行い、詳細設定を行っていきます
ブラウザが立ち上がったら、「Create job」をクリックします


時間は毎時〇〇分など色々決められますので、好きな時間を選びましょう
また、「$」には、起動するpythonファイルを記入します
必ず「.py」ファイルを選び「python 〇〇.py」と記入します
〇〇はデスクトップ上に保存しているコードの名前です
また、時刻がUTCになっているため、表示されている時間+9時間が日本時間になりますので、気をつけてください
起動したい時間を設定したら、「Save job」をクリックして終了です
詳細はこちらの記事が参考になります
実際にTwitter APIを使って、テストしてみる
Twitter APIの取得ができたら、実際にPythonを使ってテストしてみましょう
ここでテストするのは、Pythonからツイートする方法です
ツイートしたい内容をリストとして入力しておき、その中から一つだけランダムで
選び、該当アカウントでツイートする、というコードです
これを動かすことができれば、twitter懸賞の自動応募も可能です
import random
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
#****にツイートしたい内容を入力していきます.「,」で区切ることで、複数登録できます
tweetlist=["****"]
#リストに含まれるツイート内容をランダムでツイート
api.update_status(random.choice(tweetlist))
ここまで読みながら実践したけど、うまくできなかった方へのサービス
せっかくここまでtryしたのに、できないのは悔しいですよね
なので、こちらからご連絡をいただいた方には、代行で設定を行います!
設定を代行するには、twitterアカウント名とパスワードが必要になりますので、そちらのご理解をいただける方のみ、お願いします
当方が悪意を持って、利用することはありません
↓連絡先↓
twitter運用自動化コード
最後にtwitter運用自動化コードを書いておきます
APIキー、APIシークレットなどを書き換えてもらえれば、すぐに使うことができます
この続きをみるには
気軽にクリエイターの支援と、記事のオススメができます!