【Python】TwitterAPIを使ってツイートするプログラムを作ってみた(cronで定期ツイート用)
Note版3PySci
Noteでは初めまして。
Pythonプログラミングの記事を中心に発信している3PySciの管理人Noriです。
今回は有料記事を書きたいと思い、Noteに出張しにきました。
本家の3PySciではPythonで書いた色々なプログラムを紹介しているのですが、作成したプログラムの中には無料で公開してしまうのはちょっともったいないなぁと思うプログラムもちょくちょく出来てきました(個人的にですが)。
ただプログラムを販売するというレベルにまでは達しておらずハードルが高いので、有料記事としてプログラム+解説記事で販売しようというのがNote版3PySciです。
特に最近ではTwitterAPIを使ってTwitterの自動化をやっているので、とりあえずそこから始めてみようと思います。
TwitterAPIを使ってツイート
今回紹介するプログラムはTwitterAPIを使ってツイートするプログラムです。
これができればcronと合わせて定期的にブログの宣伝用ツイートができてしまうという代物です。
とは言っても誰でもできるというレベルまでにはなっていません。
そのためこの記事の対象となるのは以下の方です。
Pythonプログラミングができる方
Twitter Developer Portalに独力で登録し、トークンを取得できる方
cron(またはそれに変わる定期実行)を設定できる+環境をお持ちの方
またこの有料記事は「プログラムの販売」ではなく、あくまでも私が作成した
プログラムの「解説記事の販売」なので、上記環境を準備できない、ご自身の環境で動かないといったことには基本的には対応できませんのでご了承ください。
ちなみに「Twitter Developer Portal」に関しては最近条件が緩和されたようで、ちょっと使うくらいであれば審査なしでAPIが使えるようになっていますので、是非お試しくださいませ。
それでは始めていきましょう。
設定ファイルとプログラム概要
今回のプログラムは2つのファイルからできています。
アカウントやツイートの設定ファイル(settings.json)
プログラムファイル(TwitterCommercialTweet.py)
基本的にAPIのトークンやツイートの内容などは設定ファイルに記載し、その情報をもとにプログラムファイルで処理をするという流れになります。
ということでまずは設定ファイルの中身を見てみましょう。
{
"consumer_key":"Your consumer key",
"consumer_secret":"Your consumer secret",
"bearer_token":"Your bearer token",
"access_token":"Your access token",
"access_token_secret":"Your access token secret",
"header":"ヘッダー",
"main_text":"メインの文章",
"url":"ブログのURL",
"hashtags":{"タグ1キー":["タグ1-1", "タグ1-2", "タグ1-3"],
"タグ2キー":["タグ2-1", "タグ2-2", "タグ2-3"],
"タグ3キー":["タグ3-1", "タグ3-2", "タグ3-3"]}
}
「consumer_key」、「consumer_secret」、「bearer_token」、「access_token」、「access_token_secret」はTwitterAPIのトークンです。
これらのトークンを取得できない場合、このプログラムは動きませんのでご注意ください。
「header」、「main_text」、「url」、「hashtags」はツイートの文章を作るためのパーツです。
3PySciの宣伝用ツイートの設定ファイルを例とするとこうなります。
"header":"【Pythonプログラミング解説ブログ 3PySci】",
"main_text":"Pythonをいじって色々なプログラムや実験をしているブログです。\n良かったらぜひ見にきてください❗️",
"url":"https://3pysci.com",
"hashtags":{"Python":["Python", "Python初心者", "Python学習"],
"プログラミング":["プログラミング", "プログラミング初心者", "プログラミング学習","プログラミング勉強"],
"繋がりたい":["エンジニアと繋がりたい", "エンジニアとつながりたい", "駆け出しエンジニアと繋がりたい", "駆け出しエンジニアとつながりたい", "プログラマと繋がりたい", "プログラマとつながりたい", "駆け出しプログラマと繋がりたい", "駆け出しプログラマとつながりたい"],
"立場":["プログラマ", "未経験プログラマ", "趣味プログラマ", "エンジニア", "未経験エンジニア", "趣味エンジニア"]}
そしてこの設定ファイルでつぶやくとこのようなツイートがされます。
つまり「header」は1行目の文章、「main_text」はそれ以降の文章で、それに「hashtags」からランダムに選択されたハッシュタグ、「url」に記載された宣伝したいブログのURLが付加されるというわけです。
またTwitterでは全く同じツイートをすることはできないので、最後にツイートの日時を入れることでそのエラーを回避しています。
また「header」、「main_text」、「url」は必ずツイート内容に含まれますが、ハッシュタグに関してはランダムに選択しつつ、ツイートの文字数を超えないような作りになっています。
ということで概要はここまでにしてプログラムの紹介に移っていきましょう。
この記事が気に入ったらチップで応援してみませんか?