Python

pythonによるWordPress自動投稿の実装

2023年5月26日


pythonでwordpressに自動で記事を投稿するコードを実装します。
wordpressにログインするためのapi passwordは事前にwordpressの管理者ページから発行する必要があります。

api passwordの発行

  1. wordpressを6.2にバージョンアップ
  2. バージョンが古いと、api passwordの作成項目が表示されません。管理者ページからバージョンアップします

  3. 記事投稿用のユーザを作成する
  4. 管理者ページの左ペインから、ユーザ>新規追加>投稿者でOKしてログアウト。その後作成したユーザでログインします

  5. api passwordの作成
  6. 管理者ページのユーザ>プロフィール、画面下の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分待つ

CATEGORIES & TAGS

Python,

Author:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
LPIC303 Security
%d人のブロガーが「いいね」をつけました。