Python

【Python×ワードプレス】ワードプレスの記事投稿と更新を自動化!WordPress REST APIの準備

記事内に商品プロモーションを含む場合があります

こんにちは、hokkyokunです。

ブログを定期的に投稿したり、
月毎に内容を自動更新したりする必要が出てきました。

Pythonとweb APIを使用すると実現できそうなので、
一連の操作を学習し、まとめてみました。

今回は、自動化に向けた準備です。
といっても簡単ですので、さくっと終わらしちゃいましょう。

ちなみに自動更新しているのは投資運用記録です
処理としては以下のようなことをやっています。

  1. マネーフォワードのデータスクレイピング
  2. 仮想通貨取引所bitFlyerのAPI経由で口座データ取得
  3. データ分析と保存
  4. インタラクティブなグラフ作成
    ※操作に応じて情報を表示する、直感的なデータ可視化のグラフ。
  5. htmlを最新の情報に更新し、テキスト化して保存
  6. WordPress REST API経由でブログ記事の更新
    ①タイトルから記事ID取得→なければ新規投稿
    ②記事IDから記事情報を取得
    ③データを更新し、記事投稿

⑤~⑥は自動更新には必須です。
①~④は必須ではなく、記事内容によっていろいろと変えていきます。
上記内容はすべてPythonだけで行っています。

私の場合レンタルサーバーはConoHa WING(コノハウィング)を使っています。
問題なく動きました。

業界最安値なので気に入っています。

準備は何が必要か?

以前は結構大変でしたが、
今は比較的簡単になりました。

やることは以下です。

準備で必要なこと
  1. WordPressダッシュボード >> 「ユーザー」 >> 「プロフィール」を確認
  2. 「プロフィール」内の
    ① 「ユーザー名」の確認
    ② アプリケーションパスワードの発行

ちなみに以前は以下のようなステップが必要でした。

  1. WordPress REST API (Version 2)のダウンロード
  2. 1.でダウンロードしたファイルを
    ワードプレス管理画面からインストール
  3. 同じく、ワードプレス管理画面から
    「Application Passwords」をインストール
  4. アプリケーションパスワードを発行

尚、上記の方法以外にも
Python側のライブラリーを使って、自動化(プラグインは無しで)
もできるみたいですが、

今回はプラグインとPythonを使って、APIをたたく方法をとりたいと思います。

アプリケーションパスワードを発行

ダッシュボード >> ユーザー >> プロフィール
でアプリケーション発行画面にたどり着きます。

「アプリケーションパスワード」が項目としてあるはずなので、

  1. 「新しいアプリケーションパスワード名」に好きな名前をつける
  2. 「新しいアプリケーションパスワードを追加」をクリック
  3. このとき、パスワード名が出現するので、
    忘れないようにコピペ等で控えておく

これを逃すとパスワードが確認できません。
その場合は再度発行することになると思います。

このパスワードが発行出来たら準備OKです。

もし詰まることがあれば(経験談)

「新しいアプリケーションパスワード名」は
必ず記入してください。

無記名ではパスワードは発行されません。

当たり前?
私は無記名で発行しようとし、うんともすんともせず四苦八苦しました(笑)
今思うとなんで無記名でやろうと思ったんだろ…

次回はいよいよ、ワードプレスから情報を取得したり、
自動で動かしたりしてみたいと思います。

ブログの自動化

ワードプレスを操作して常に最新の情報にアップデート

当サイトで紹介しているいくつかのプログラムをつなげて

  1. サイトに記事が投稿されているかどうか判断
  2. 投稿されていれば、記事の更新
    されていなければ、新規投稿

のようなブログ記事の半自動化も可能となります。

例えば天気、株価、仮想通貨価格、道路状況、遊園地の混雑具合など
最新の情報を定期的に記事に差し込むことで、記事の価値をアップさせることもできます。

ご紹介しているプログラムで可能ですので、
ぜひ活用してみてください。

Pythonを使ったワードプレスの自動化の方法をまとめています。

使用しているブログ環境

私はブログ運営のためにConoHa WING(コノハウィング)を使用しています。。

私の場合、記事投稿、記事更新、メディアID、記事IDの取得はできています。
記事の最新状態へのアップデートは問題なく、自動化できています。

他社と比較して費用が圧倒的に安くつく点を優先してこのサーバーを借りています。