python PR

pythonでtwitter APIを使って自動投稿する方法【サンプルコードあり】

pythonでtwitterに自動投稿する
記事内に商品プロモーションを含む場合があります

twitter運用を行なっている方は、毎日30-40ツイートを行なっている方もいるかと思います

正直、毎日30-40ツイートはきつい…

という方もいるのではないでしょうか

この記事では、twitter運用を行うためにあらかじめ作成しておいたツイート内容を1時間に1回ランダムで自動投稿する方法について解説をしていきたいと思います

pythonでtwitterを操作してみたい

pythonでtwitterに自動投稿したい

pythonでtwitterを自動化したい

といった方に向けて、書いていきます!

いいねやリツイートの自動化などを知りたい方は、以下の記事を参考にしてください

python twitter
pythonでtwitterを使ってみよう【コピペでOKサンプルコードつき】pythonを使えばtwitter操作を自動化することができます。僕が収益を出したtwitter自動化のコードを元に、pythonでtwitterを操作する方法を解説していきます。...

pythonでtwitterを扱えるようになると、twitterで行われている懸賞に自動で応募することができるようになります

pythonでtwitterの懸賞に自動応募する
pythonでtwitterの懸賞に自動応募させる【サンプルコードあり】twitterを見ていると、「フォロー&リツイート」でプレゼント企画を行なっているのをよく見かけます。これ、手動で懸賞に参加するのってしんどいですよね。なので、pythonを使って、自動化をしていきたいと思います。...

pythonでtwitter APIを使って自動投稿する方法

まずは全体のコードから

twitter APIの取得方法は後半で紹介していきます

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))

まずはtwitter APIの認証をさせます

その後、あらかじめリストに保存しておいたツイート内容を「random.choice」で選択し、ツイートを行います

これだけでOKです

ツイートをさせるためには「api.update_status」を使用します

SQLなどのデータベースを使用して、そこにツイート内容を保存・ツイート
というやり方を行なっている記事も見かけましたが、後述するHerokuを使用する際に煩わしいので、SQLなどは使わずに実行していきます

同じ内容を連続して自動投稿しないようにする

twitterでは同じ内容を連続して投稿できないようになっています

リストに入力しているツイート内容を連続で自動投稿してしまわないように、投稿時刻を追加することもできます

日付と現在時刻をあらかじめ取得しておき、変数(今回はdt)に入れておきます

その後、ツイート内容のリストを作成し、時刻が入っている変数を追加します

「”〇〇〇〇”+dt」でツイート内容+時刻でツイートすることが可能です

あとはリストに入れておくツイート内容を40-50件くらいにしておけば、時刻を入力せずとも連続で自動投稿してしまう可能性が減ります

import tweepy
import random
# timeモジュールを使った現在の日付と時刻の取得
import time
import datetime

'''
time
'''

t = time.time()  # UNIX時間(1970/01/01 00:00:00からの経過時刻)を取得
dt_from_timestamp = datetime.datetime.fromtimestamp(t)

c_time = time.ctime(t)  # UNIX時刻を文字列表現に変換

local_time = time.localtime(t)  # ローカル時刻をtime.struct_time型として取得
gm_time = time.gmtime(t)  # UTC時刻をtime.struct_time型として取得
asc_time = time.asctime(local_time)  # 上のlocal_timeを文字列表現に変換

dt = datetime.datetime.strptime(asc_time, '%a %b %d %H:%M:%S %Y')
dt=str(dt)

'''
twitter
'''
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=[""+dt]
api.update_status(random.choice(tweetlist))

twitter APIの取得方法

pythonでtwitterを操作するためには、twitter APIの取得をする必要があります

tweepyのインストール

pythonでtwitterを使うためには、「tweepy」をインストールする必要があります

Macならターミナルで、windowsならコマンドプロンプトで以下のコマンドを打ちます

pip install tweepy

これでpythonでtwitterを使うための第一段階が終了です

pythonでtwitterを使うためにtwitter APIの承認を受ける

tweepyのインストールが終了したら、pythonでtwitterを使うためにtwitter APIの承認を受けましょう

  1. Developerに登録
  2. twitter APIの使用用途を説明
  3. twitter APIの申請→承認

ざっくり上記の流れになります

twitter APIの申請は年々厳しくなっていますが、2022年に承認を受けた方法はこちら

pythonでtwitter APIを使用する方法
pythonでtwitter APIを取得する方法【全18枚の図解+例文あり】twitterのAPI取得は年々厳しくなってきています。今回は筆者が2022年にpythonでtwitter APIを取得するために行なった方法を図解+例文つきで紹介していきます。pythonでtwitterを利用する際には、twitter APIの取得が必須になるので、参考にしてください。...

twitter APIの承認を受けたらcreate appを作る

twitter APIの承認を受けたらcreate appを作ります

ダッシュボード Twitter API project1 Twitter API setup

画像の順番でも、API申請記事の方法でもOKです

twitter側でサードパーティアプリの許可をする

create appが終了したら、twitterアカウント側でサードパーティアプリの許可をします

twitter APIサードパーティアプリ

よく見かける上記の画像のやつです

これを許可することで、pythonからTwitterに投稿することなどが出来ます

これでpythonでtwitterを使うための準備はOKです

pythonでtwitterに自動投稿する設定

あとはherokuを使ってtwitterに自動投稿する設定をしていくだけです

herokuでは,

  • Every hour at…1時間に1回、決まった分に実行
  • Every day at…毎日決まった時間に1度実行
  • Every 10minutes…10分ごとに実行

の3種類で設定することができます

herokuにプログラムをデプロイ

herokuを使用して、自動投稿を行うには次の流れのようになります

  • 新規アプリの作成
  • githubにコードの保存
  • herokuとgithubの連携
  • herokuにアプリをデプロイ
  • herokuスケジューラーの設定

ターミナルを起動し、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名)
スライド38

app名が他の人が使用していると、使えず上記のように「Name pythonauto is already taken」と表示されます

そういう場合には、

heroku create

だけ入力すれば、勝手にapp名が作られます

スライド39

appの作成がうまくいくと、上記のようになります

githubにコードを保存する

appの作成までうまくいったら、githubにコードを保存していきます

githubにログイン後、右上「+」から「New repository」をクリックし、新たなレポジトリを作成していきます

レポジトリの名前を求められるので、好きな名前を入力し、「Private」にチェックを入れ、「Create repository」をクリックします

スライド21

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

スライド22
スライド26

ドラッグ後、真ん中あたりにドラッグしたファイルが表示されていればOKです

左下、緑のボタンをクリックします

そうすると以下のようにファイルが追加されます

スライド27

githubへの登録はこれでOKです

herokuとgithubを連携する

ここまで来たらあと少しでおしまいです

herokuとgithubを連携させていきます

herokuのwebサイトに移り、先ほど作成したapp名をクリックします

スライド28

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

スライド29

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

スライド30

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

スライド31

connectが成功したら、「deploy」タブがあったとこの一番右側「setting」に移ります

settingの「Add building」からpythonを選択していきます

スライド32
スライド33
スライド34

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

スライド36

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

スライド41
スライド42

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

スライド43

これで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」に変更して、登録を行います

最後までうまくいくと、以下のようになります

スライド44

これでherokuにデプロイできました

最後にスケジューラーの設定です

herokuスケジューラーの設定

Heroku Schedulerを使う場合は無料枠の範囲でもherokuにクレジットカードを事前に登録しておかなければいけません。
(プランを変えない限り勝手に課金されることはありません。)

herokuのAccount settingからbillingタブに移り、カード情報を登録していきます

画像40

カードの登録が終わったら、スケジューラーを追加していきます

ターミナルに移り、

heroku addons:add scheduler:standard

と入力します

するとアドオンの追加ができます

その後、

heroku addons:open scheduler

と入力を行い、詳細設定を行っていきます

ブラウザが立ち上がったら、「Create job」をクリックします

画像41
スクリーンショット 2022-01-23 11.17.16

時間は毎時〇〇分など色々決められますので、好きな時間を選びましょう

また、「$」には、起動するpythonファイルを記入します

必ず「.py」ファイルを選び「python 〇〇.py」と記入します

〇〇はデスクトップ上に保存しているコードの名前です

また、時刻がUTCになっているため、表示されている時間+9時間が日本時間になりますので、気をつけてください

起動したい時間を設定したら、「Save job」をクリックして終了です

より詳しい内容は、noteの無料部分に記載しているので、そちらも参考にしてください

pythonを使ってtwitterの自動化-twitter運用効果あり-

まとめ

  • pythonを使ってtwitterに自動投稿するには、twitter APIが必要
  • api.update.statusでツイート可能
  • twitterでは同じ内容の連続投稿が許可されていないので、対策が必要
  • herokuで自動投稿の定期実行を設定する

python初心者がpythonを学び始めて1年未満で5桁の収益を出した方法

アイキャッチ
pythonを独学で学び収益を出す方法【無料特典あり】pythonを独学で学び始めて筆者が、どのように収益5桁を達成したのかを具体的に解説していきます。この順番に進めていけば、一年以内にpythonを使って収益化できるようになります。...

pythonの知識・技術を身につけたいなら、pythonが学べるプログラミングスクールに行くのも、一つの方法です

以下の記事では、pythonが学べて無料体験ができるおすすめのプログラミングスクールを紹介しています

python プログラミングスクール
Pythonや機械学習を学べるプログラミングスクールおすすめ5選「pythonを学ぶのに、プログラミングスクールに通いたい」「pythonを学べるプログラミングスクールがたくさんあって、よくわからない」「結局、pythonを学ぶのにおすすめのプログラミングスクールってどこなの?」といった疑問をお持ちの方に、pythonを学ぶのにおすすめのプログラミングスクールを紹介していきたいと思います。...
おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.