【5分でわかる】PythonでWordPressに記事を自動投稿する方法

 

★悩み★
・WordPressに記事を自動で投稿ってできるのかな?
・WordPressの記事を自動投稿または自動更新する手順を知りたい。
・PythonでWordPressに「新規記事を投稿」「既存記事を更新」をしたい。



こういった「悩み」に答えます。
 

★本記事の内容★
➀ PythonでWordPressに記事を自動投稿するための準備をご紹介
➁ PythonでWordPressに新規記事を自動投稿する手順をご紹介
➂ PythonでWordPressの既存記事を自動更新する手順をご紹介



これからご紹介する「PythonでWordPressに記事を自動投稿する方法」を実践したことで、筆者はPythonを用いてWordPressに記事を自動投稿できました。
 

前半では「PythonでWordPressに記事を自動投稿するための準備」を紹介します。
後半では「PythonでWordPressに記事を自動投稿する手順」や「WordPressの既存記事を自動更新する手順」を紹介します。
 

この記事を読み終えることで、「WordPressに特別なプラグインをインストールすることなく、WordPressに記事を自動で投稿できる」状態になります。
 

ちなみに、本記事で作成した「WordPressに記事を自動投稿する」Pythonプログラムで、以下の記事を自動投稿および自動更新しています。


 

PythonでWordPressに記事を自動投稿するための準備


「PythonでWordPressに記事を自動投稿するための準備」に関してご紹介します。
 

★PythonでWordPressに記事を自動投稿するための準備の流れ★
手順1:Pythonをインストール
手順2:Pythonの「python-wordpress-xmlrpc」ライブラリをインストール



上記の流れで、「PythonでWordPressに記事を自動投稿するための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2023年2月13日
動作確認済み環境:
・CentOS Linux release 7.7.1908 (Core)
・Ubuntu
・Windows



以降で、上記「PythonでWordPressの記事を自動投稿するための準備の流れ」の各手順に関してご説明します。

 

手順1:Pythonをインストール

「手順1:Pythonをインストール」に関してご説明します。
 

python-wordpress-xmlrpcでWordPressの記事を自動投稿するために、Pythonをインストールしましょう。



以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。

>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】

>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】

>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照

>> 【環境構築】インストーラーでMacOSにPythonをインストール
 

既にPythonをインストールされている方は、本手順を省略してください。



以上で、「手順1:Pythonをインストール」は完了です。

 

手順2:Pythonの「python-wordpress-xmlrpc」ライブラリをインストール

「手順2:Pythonの『python-wordpress-xmlrpc』ライブラリをインストール」に関してご説明します。
 

PythonでWordPressに記事を自動投稿するために、python-wordpress-xmlrpcをインストールしましょう。



Pythonの「python-wordpress-xmlrpc」ライブラリをインストールするために、「端末またはコマンドプロンプト」を起動し、以下のコマンドを順に実行してください。

# pip3 install python-wordpress-xmlrpc
# pip3 list | grep python-wordpress-xmlrpc
python-wordpress-xmlrpc (2.3)
#



コマンンド実行後、「python-wordpress-xmlrpc(バージョン)」が表示された場合、「正常にpython-wordpress-xmlrpcライブラリをインストールできた」と判断できます。
 

以上で、「手順2:Pythonの『python-wordpress-xmlrpc』ライブラリをインストール」は完了です。
 

上記の流れで、PythonでWordPressの記事を自動投稿するための準備ができました。


 

PythonでWordPressに新規記事を自動投稿する手順


「PythonでWordPressに新規記事を自動投稿する手順」に関してご紹介します。
 

★PythonでWordPressに新規記事を自動投稿する流れ★
手順1:PythonでWordPressに新規記事を自動投稿するプログラムを作成
手順2:「PythonでWordPressに新規記事を自動投稿するプログラム」の実行



上記の流れで、「PythonでWordPressに新規記事を自動投稿」できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2023年2月13日
動作確認済み環境:
・CentOS Linux release 7.7.1908 (Core)
・Ubuntu
・Windows



以降で、上記「PythonでWordPressに新規記事を自動投稿する流れ」の各手順に関してご説明します。
 

手順1:PythonでWordPressに新規記事を自動投稿するプログラムを作成

「手順1:PythonでWordPressに新規記事を自動投稿するプログラムを作成」に関してご説明します。
 

「WordPressに新規記事を自動投稿する」Pythonのプログラムを作成しましょう。



「WordPressに新規記事を自動投稿する」Pythonのプログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods.users import GetUserInfo
from datetime import datetime

wordpress_url = "http://wordpress-site" # WordPressのURLを指定(適宜変更)
wordpress_xmlrpc = wordpress_url + "/xmlrpc.php"
wordpress_user = "XXXX" # WordPressにログインできるユーザー名を指定(適宜変更)
wordpress_password = "YYYY" # WordPressにログインするためのパスワードを指定(適宜変更)

wp = Client(wordpress_url, wordpress_user, wordpress_password)
post = WordPressPost()

post.title = "title"       # 記事のタイトルを指定(適宜変更)
post.content = "body"      # 記事の内容を指定(適宜変更)
post.post_status = 'draft' # 投稿する記事の状態 下書き:draft 公開:publish(適宜変更)
wp.call(NewPost(post))     # WordPressに新規記事を投稿

print("PythonでWordPressに新規記事を自動投稿しました。")



上記のプログラムを「python-wordpress-upload.py」というファイル名で保存しましょう。
 

WordPressPostやNewPostなどはpython-wordpress-xmlrpcライブラリの関数です。各関数の詳細は以下の公式ドキュメントをご覧ください。
参照:python-wordpress-xmlrpcの関数リファレンス(公式サイト)



以上で、「手順1:PythonでWordPressに記事を自動投稿するプログラムを作成」は完了です。
 

手順2:「PythonでWordPressに新規記事を自動投稿するプログラム」の実行

続いて、「PythonでWordPressに記事を自動投稿するプログラム」を実行してみましょう。
 

Pythonで作成した「WordPressに新規記事を自動投稿する」プログラムの動作を確認しましょう。



Pythonで作成した「WordPressに新規記事を自動投稿する」プログラムの動作を確認するために、以下のコマンドを実行してください。

# python python-wordpress-upload.py
PythonでWordPressに新規記事を自動投稿しました。
# 



コマンド実行後、「PythonでWordPressに新規記事を自動投稿しました。」が表示された場合、「正常にPythonでWordPressに記事を自動投稿できた」と判断できます。
 

また、実際にWordPressに投稿できているか確認しましょう。
 

WordPressに自動投稿された新規記事を確認



以上で、「PythonでWordPressに記事を自動投稿するプログラムの実行」は完了です。
 

上記の流れで、PythonでWordPressに新規記事を自動生成できました。


 

PythonでWordPressの既存記事を自動更新する手順


「PythonでWordPressの既存記事を自動更新する手順」に関してご紹介します。
 

★流れ★
手順1:更新したい記事のURLスラッグを確認
手順2:PythonでWordPressの既存記事を自動更新するプログラムを作成
手順3:「PythonでWordPressの既存記事を自動更新するプログラム」の実行



以降で、各手順に関して説明します。
 

手順1:更新したい記事のURLスラッグを確認

既存記事をPythonで自動更新するためには、「URLスラッグ」が必要です。更新したい記事のURLスラッグを確認するために、WordPressで更新したい既存記事の編集画面を開きましょう。

その後、「URLスラッグ」(下図の赤枠)を確認し、メモしておきましょう。
 


 

手順2:PythonでWordPressの既存記事を自動更新するプログラムを作成

「手順1:PythonでWordPressに既存記事を自動更新するプログラムを作成」に関してご説明します。
 

「WordPressの既存記事を自動更新する」Pythonのプログラムを作成しましょう。



「WordPressの既存記事を自動更新する」Pythonのプログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost, EditPost
from wordpress_xmlrpc.methods.users import GetUserInfo
from datetime import datetime

wordpress_url = "http://wordpress-site" # WordPressのURLを指定(適宜変更)
wordpress_xmlrpc = wordpress_url + "/xmlrpc.php"
wordpress_user = "XXXX" # WordPressにログインできるユーザー名を指定(適宜変更)
wordpress_password = "YYYY" # WordPressにログインするためのパスワードを指定(適宜変更)
url_slug = 2992 # 更新したい記事のURLスラッグ(適宜変更)

wp = Client(wordpress_url, wordpress_user, wordpress_password)
post = WordPressPost()

post.title = "title"       # 記事のタイトルを指定(適宜変更)
post.content = "body"      # 記事の内容を指定(適宜変更)
post.post_status = 'publish' # 投稿する記事の状態 下書き:draft 公開:publish(適宜変更)
wp.call(EditPost(url_slug, post))     # WordPressの既存記事を更新

print("PythonでWordPressの既存記事を自動更新しました。")



上記のプログラムを「python-wordpress-update.py」というファイル名で保存しましょう。
 

EditPostなどはpython-wordpress-xmlrpcライブラリの関数です。各関数の詳細は以下の公式ドキュメントをご覧ください。
参照:python-wordpress-xmlrpcの関数リファレンス(公式サイト)



以上で、「PythonでWordPressの既存記事を自動更新するプログラムを作成」は完了です。
 

手順3:「PythonでWordPressの既存記事を自動更新するプログラム」の実行

続いて、「PythonでWordPressの既存記事を自動更新するプログラム」を実行してみましょう。
 

Pythonで作成した「WordPressの既存記事を自動更新する」プログラムの動作を確認しましょう。



Pythonで作成した「WordPressの既存記事を自動更新する」プログラムの動作を確認するために、以下のコマンドを実行してください。

# python python-wordpress-update.py
PythonでWordPressの既存記事を自動更新しました。
# 



コマンド実行後、「PythonでWordPressの既存記事を自動更新しました。」が表示された場合、「正常にPythonでWordPressの既存記事を自動更新できた」と判断できます。
 

以上で、「PythonでWordPressの既存記事を自動更新するプログラムの実行」は完了です。
 

上記の流れで、PythonでWordPressの既存記事を自動更新するツールを作成できました。


 

【まとめ】PythonでWordPressに記事を自動投稿する方法


今回の記事を通して、「PythonでWordPressに記事を自動投稿する方法」をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・WordPressに記事を自動で投稿ってできるのかな?
・WordPressの記事を自動投稿または自動更新する手順を知りたい。
・PythonでWordPressに「新規記事を投稿」「既存記事を更新」をしたい。



「WordPressに記事を自動投稿する手順は?」や「PythonでWordPressに記事を自動投稿できる?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
 

本ブログでは、「業務の時短化に繋がるIT技術」や「クラウドやOSSの学び方」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。

>> IT技術やその学び方を発信しているサイト「駆け出し物語」(本ブログ)
 

コメント