APIを用いたTwitterアカウントの「リツイート」と「いいね」作業の自動化
こんにちは。中川と申します。
今回紹介すること:
ツイッターでリツートといいね!を自動化する方法です。
方法:
TwitterのAPIをPythonというプログラミング言語を用いて行う。
機能:
複数のアカウントを特定のキーワード(これも複数ワード設定可)でTwitter検索して、リツイートといいね!をします。
このツールのメリット:
・いいね!とリツイートをする作業工数削減。→特定のキーワードであればリツイートといいね!をする作業がゼロになります。
・Pythonが分かれば機能追加が各自でできる。
・複数アカウントで運用可能→1つのアカウントでAPI申請し、通れば複数のアカウントで使用可能になります。(他のアカウントでのアクセストークンの取得プログラムもこのコンテンツに付属しています。)
このツールのデメリット:
・フォローワー増加、関連する収益増加を保証するものではありません。あくまで作業の効率化です。
・Pythonがわかる人は参考にならないかも。
・API制限(リミット)を破った場合、アカウントがブラックリストの登録またはBANを受ける可能性があります。
このツールの実績:
うーん、まぁアカウントの宣伝や告知に貢献してるんじゃないかなと思います。僕も複数アカを半年くらい放置で回してますが、
フォロー数:フォロワー数が1:4くらいになってます。
このプログラムの工夫:
業者のリンクだったり、botツイートをリツイートやいいね!すると、そういうアカウントの手伝いをしてるみたいで嫌なので、
・Twitter for iPhone
・Twitter for Android
の2つのクライアントからのツイートだけいいね!&リツイートをするようにしました。より精度高くリアルユーザーのツイートを狙えるんじゃないかと思います。
また有害リンクを応援するのも良くないので、.comや.net、.jpや.peingを含むツイートもリツイートといいね!をしません。
このコンテンツの価格の妥当性:
ココナラでPythonでの自動化やツール作成を依頼すると15000円程度は取られるようですし、これくらいの価格でもいいんじゃないかなと思いました。藁
寝てても他の仕事やってても作業してくれるので、時間が買えるかと思います。
余談:
以前僕はブラウザの自動操作でツイッターの自動運用をやってましたが、最近TwitterのUIが変わったことによって再度プログラムを書き直す羽目になりました。
書き直すことは問題ないのですが、実はこの方法では頻繁に自動ログイン等を繰り返したせいでアカウントロックを食らうことが何度かありました。
したがって、今回紹介するAPIというものを用いて運用した方が安全です。しかも、こっちの方がより簡単に短時間でプログラムを書けます。
注意事項:
当コンテンツは全文無料で公開しています。内容に納得していただければ、最後にスクリプトとそれをパッケージ化した実行ファイルを買うイメージでお願いします。
できる限り専門用語を使わずに書いていきますので、初心者の方でも一度読んでいただいて、わかりそうであれば、トライしてみてください。
また自動いいね、リツイートbotが増えすぎると嫌なので、とりあえずある程度売れたらこの記事は閉じようかなと思ってます。
あと今後のアップデートや何かあったときに動作しないもしくはバグがあるとあっても、すいません。対応しません。
プログラムの具体的な動作:
当プログラムは最終的に以下のような動作をするものです。
1.自分で決めた任意のキーワードワードを検索する。
2.Twitter上で検索した最新の上位10ツイートを取得する。
3.そのツイートのクライアントが「Twitter for iPhone」もしくは「Twitter for Android」であればリツイートといいね!を実行する。すでにリツイート、もしくはいいね!していたらエラーとして出力する(プログラムは停止しません)。
4.1時間後次のアカウントを読み込み、次のキーワードで検索する。(この一時間後というのはAPIリミットを破らないように設定しているものです)
以下2.から同様の動作を繰り返す。
です。APIリミットを破らないように、10ツイートのみの取得、さらにやりすぎると他のユーザーにも迷惑になるので、1時間1回だけ動作するようになっています。
貴殿がやるべきこと:
API申請
まずAPIの使用許可をTwitterに貰わなければ何も始まりません。
自動運用したいアカウントで申請してください。(審査が通るまでには1日はかかると思います)
詳しくは下のウェブサイトをご覧ください。
電話番号を登録したアカウントでなければ、申請できないとか、できるとからしいので注意してください。
またAPIの申請時に申請理由を英語で書く必要があるのですが、Google翻訳で翻訳しても大丈夫です。最近のは結構精度高いです。
申請理由は僕の場合「ブログの記事を自動で呟いて、定期的にリツイートをしたい」と書きました。(未だにその機能は実装できてませんが)
それと最近はどんな理由であろうと一度はTwitterの方から理由の再確認的なメールが届きます。その文章が英語なら英語で、日本語なら日本語で返信した方がいいと思います。
その例を日本語の場合、英語の場合の2つ挙げておきます。
日本語の場合の僕が返信した内容。
返信ありがとうございます。
以下の形式で一つ一つお答えします。
• Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
• 学生、コーディング学習者、またはTwitter APIの初心者であるお客様は、実施予定のプロジェクトまたは重点分野の詳細をご提供ください。
いままでAPを利用してPythonでのプログラムを書いたことがなかったのでライティング能力向上も一つの目的です。
また、頻出するツイートの単語と回数で散布図を作り相関性も調べいたいと思います。
ビジネス目的(営利目的)では使用しません。
• ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお知らせください。
• ここでいう「分析」にはTwitterコンテンツに対して行われるあらゆる形式の処理が含まれますのでご注意ください。使用目的については可能な限り詳細かつ完全な説明をお願いいたします。
また、分析には形態素解析を用います。
Janomeが有名ですので、Janome(https://mocobeta.github.io/janome/)を使って文章を単語ごとに分けます。
そのあと、出現した単語をリストにappendしてfor文を用いて頻出度を調べます。
• ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお知らせください。
APIを用いて、いいねが1万以上のツイートを取得します。
また前述した方法で、分析したあと実際に分析結果に基づいて文章を作成し、ツイートします。これはAPIを使って投稿するつもりです。
• TwitterコンテンツをTwitter以外で表示する場合は、お客様の製品またはサービスのユーザーに対して、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明ください。
ツイッターコンテンツは他のサービスで公開しません。
1万以上のいいねがされているツイートを取得しますが、そのツイートコンテンツは自分のPC内だけで利用します。
外部に公開したり、他人に渡したりはしません。
英語の場合の僕が返信した内容。
Hello,
Thank you for your reply.
I want to answer your questions carefully.
I want to tweet my blog post automatically. Therefore, use Twitter API.
The method will be created using the Python language. Specifically, I plan to check my blog every day at 12:00 and create a program to tweet automatically if there is a new article. If there is no new article, I will not tweet.
I will also retweet my tweets once a day at 20:00. I would like to do this automatically using the API.
The analysis of Tweet content is not currently considered. Therefore, it is not disclosed to the outside.
Thanks.
APIコンスマーキーの取得
API申請が通ったら、コンスマーキーとコンスマーシークレットキーを取得します。まず下記サイトにアクセスしてからログインしてください。API申請が通ったアカウントでログインしてくださいね!
Twitter Developer Platformdeveloper.twitter.com
あとでアクセストークンというものも取得もするので「コールバックURL」は必ず設定してください(自分のツイッターのURLでもなんでもいいです)。
詳しくは下のサイトの手順4.からみて下さい。
===================================
スクリプトのインストール(設置方法)
スクリプトはこのNoteの最後のところにありますのでダウンロードしてください(有料)。そしてそれらのファイルは全て同じディレクトリに保存してください。
複数アカウントでのアクセストークンの取得
次にダウンロードしていただいたファイルの「GetAccessToken.py」をAtomで開いてください。このファイルの19行目にコンスマーキーとコンスマーシークレットキーを貼り付けて保存します。
キーを貼り付ける時はシングルクウォーテッションの中に貼り付けるように気をつけてくださいね!
次にこの「GetAccessToken.py」を実行します。
すると自動的にブラウザが立ち上がりますので、「連携アプリを認証」をクリックしてください。
するとコールバックURLのウェブサイトに戻るかと思います。
ここでこのサイトのURL部分に注目してください。
設定したURLよりも凄く長くなっていると思います(パラメータが付いています)。
このURLの末尾の「oauth_verifier=」以降をコピーしてください。
このコピーしたコードを先ほどの実行ファイル(コンソール)に貼り付けます。
貼り付けたらエンターキーを押します。するとアクセストークンとシークレットアクセストークンを自動で取得します。
アクセストークン取得成功と出たらOKです。同じディレクトリにもcsvファイルが生成されていると思います。
同様に他のアカウントのアクセストークンを取得していきましょう。まずツイッターにアクセスして先ほどのアカウントはログアウトしてください。
下記サイトからツイッターにいけます。
Login on TwitterWelcome back to Twitter. Sign in now to check your notificatitwitter.com
ログアウトしたら先ほどの「GetAccessToken.py」を実行の工程からやります。
1.「GetAccessToken.py」の実行。
2.自動的にウェブが立ち上がるのでログイン。
3.「連携アプリを認証」をクリック。
4.「oauth_verifier=」をコピーしてコンソールに貼り付け。
です。これを運用したアカウントでやっていきます。
自動リツイートといいね!の実行
ようやく準備が整いました。次は「products.py」をAtomで開いてください。
14行目と15行目に先ほどと同様のコンスマーキーとコンスマーシークレットキーを貼り付けます(※アクセストークンではありません、コンスマーキーです)。
次に9行目に検索ワードを入力します。下の画像を見てください。
シングルクウォーテッションでキーワードを囲います。他にワードを足したければ、コンマを付けてさらにシングルクウォーテッションの中にキーワードを入力します。
最後に「products.py」を実行します。
運用方法
自前PCで「products.py」ファイルを実行して放っておくだけです。Rasberrypiや余ったPCがあれば尚良いと思います。
ここから下が有料です。有料部分には実際のスクリプトを載せています。
上で書いたことに納得していただいてから購入してください。
助けてください・・
複数アカウントでツイートする方法がようやくわかった!