pythonでwordpressに自動で記事を投稿するコードを実装します。
wordpressにログインするためのapi passwordは事前にwordpressの管理者ページから発行する必要があります。
api passwordの発行
- wordpressを6.2にバージョンアップ
- 記事投稿用のユーザを作成する
- api passwordの作成
バージョンが古いと、api passwordの作成項目が表示されません。管理者ページからバージョンアップします
管理者ページの左ペインから、ユーザ>新規追加>投稿者でOKしてログアウト。その後作成したユーザでログインします
管理者ページのユーザ>プロフィール、画面下のapi passwordの作成
自動投稿Pythonコード
下記のコードを実行すると、5分おきにtitleで指定した5つの記事を順番に投稿していきます。
import requests
import time
# ブログのURL
blog_url = 'https://murci.net'
# WordPressのユーザー名
api_user = 'admin'
# アプリケーションパスワード
api_password = 'xxxxxxxxxxxxxxxxx'
# 5つのタイトル
titles = [
'読み応え抜群!衝撃の展開が待ち受けるミステリー小説5選',
'怖くて夜眠れない!おすすめのホラー小説5選',
'心理描写が秀逸!ドキドキ必至のミステリー小説5選',
'不気味な世界観に引き込まれる!おすすめのホラー小説5選',
'予想外のラストが魅力!驚きの展開が待つミステリー小説5選'
]
# Post APIのURL
post_api_url = f'{blog_url}/wp-json/wp/v2/posts'
# 5分おきに記事投稿
for title in titles:
if title == '読み応え抜群!衝撃の展開が待ち受けるミステリー小説5選':
content = """
<p>今回は、読み応え抜群で衝撃的な展開が待ち受けるミステリー小説のおすすめ作品を5冊紹介します。</p>
<ul>
<li>『パーフェクト・ストレンジャー』</li>
<p>著者:マイケル・ロブスリー</p>
<p>あらすじ:</p>
<p>主人公グレースは、ニューヨーク・タイムズ紙の記者である。ある日、彼女のもとに「プライベート・インベスティゲーター」と名乗る人物からの取材依頼が届く。彼は「ある人物の素性を暴いてほしい」という。しかし、その人物は自分自身が実在しない架空の人物であった。事件の真相を解き明かすために、グレースは様々な手がかりを追い、徐々に事件の核心に迫っていく。</p>
<img src="perfect-stranger.jpg" alt="パーフェクト・ストレンジャーの画像">
</ul>
"""
〜略〜
# 送信する記事データ
post_data = {
'title': title,
'content': content,
'slug': 'python-post-test',
'status': 'publish', # draft=下書き、publish=公開 省略時はdraftになる
}
response = requests.post(post_api_url, json=post_data, auth=(api_user, api_password))
res_json = response.json()
print(res_json)
time.sleep(300) # 5分待つ