Pythonでワードプレスブログに自動投稿する方法

いちいちワードプレスのブログにアクセスしてユーザーネームとキーワードを入力して、記事を書いて投稿しなくても、プログラム的に記事を投稿できないかと思ったら、Pythonを使って投稿する方法がいくつか紹介されていたので試してみました。

警告・免責事項

以下のやり方を試したら、自分の場合、ワードプレスのコントロールパネルに入れなくなりました。どうしても解決方法が見つからず、テストサイトだったのでワードプレスのインストールからやり直しました。バックアップを取っておいてからやらないと、あとでトラブルったときに致命的です。長年育ててきたサイトでやるのは、大変危険です。

この記事の内容に関しては、自己責任で参考になさってください。自分のための忘備録として残しておきます。

 

Python2.7でワードプレスに記事をテスト投稿

Python Code for adding posts to WordPress remotely gistfile1.py (github.com)

上のリンク先のコードはPython2.7を使っています。Anaconda(Python2.7)のJupyterノートブックにコードをコピペして、URLなどは自分のものに変えて、実行してみました。すると、ImportError: No module named wordpress_xmlrpcというエラーに。wordpress_xmlrpcという名前のモジュールがないためのエラーでした。AnacondaではどうやってPythonのモジュールをインストールすればよいのかよくわかりませんでしたが、Anaconda Promptのコマンドウインドウで、

>pip install wordpress_xmlrpc としてみましたが、
Could not find a version that satisfies the requirement wordpress_xmlrpc (from versions: )
No matching distribution found for wordpress_xmlrpc
と返されてしまいました。またPIPのバージョンが古いよというメッセージも出てきて、
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the ‘python -m pip install –upgrade pip’ command.
新しくしなさいというので、指示に従ってそのコマンドを打ったら、PIPのバージョンは無事アップグレードしてくれました。ネットでいろいろ調べて、https://go-journey.club/archives/6977を参考にして
pip install python-wordpress-xmlrpc
としてみたら、無事モジュールがインストールできました。で上のgistfile1.pyというコードは実行できて、サイトによっては投稿がうまくいきました。ただし、別のサイトでは
ExpatError: no element found: line 1, column 0
というエラーになってうまくいきませんでした。これは未解決。

【Python】【WordPress】XML-RPC で Python プログラムで WordPress に自動投稿する(go-journey.club)

上のサイトにもサンプルコードがあったので走らせてみました。Pythonのバージョンは2.7です。これもサイトによってはうまくいきませんでしたが、うまくいったサイトもありました。原因不明ですが。

上の2つのサンプルコードはPython2.7でしたが、Python3のサンプルコードもありました。

 

Python3.7でワードプレスに記事をテスト投稿

Pythonでwordpressに自動で投稿する(python-wordpress-xmlrpc) (2018年8月15日 バラ十字の道 awesome-rainbow-colors.com)

ANACONDA PROMPTの画面で

pip install python-wordpress-xmlrpc

として必要なモジュールをインストールしました。

Successfully installed python-wordpress-xmlrpc-2.3 というメッセージが出て無事インストール。これで上のサンプルコードも動きました。

記事投稿を普段手作業で行っている自分にしてみれば、それがプログラムから実行できてしまうというのは凄いことだと思います。これで記事内容まで自動生成できれば、自分の手間が省けてよいのですが。

 

参考(ワードプレス自動投稿のPythonサンプルコード)

  1. Python Code for adding posts to WordPress remotely gistfile1.py (github.com)(Python2)
  2. 【Python】【WordPress】XML-RPC で Python プログラムで WordPress に自動投稿する(go-journey.club)(Python2)
  3. Pythonでwordpressに自動で投稿する(python-wordpress-xmlrpc) (2018年8月15日 バラ十字の道 awesome-rainbow-colors.com)(Python3)