はじめに
この記事では、ChatGPTとPythonを活用して、さくらサーバーのWordPressに記事を自動投稿する方法について解説します。
以下の記事を参考にさせていただきました。
ChatGPT&Pythonで、WordPressに自動投稿する方法
記事の自動投稿手順
必要な準備
- さくらサーバーのWordPressアカウント
- OpenAI APIキー
- Python環境
- 必要なPythonライブラリのインストール
1 |
pip install python-wordpress-xmlrpc openai requests |
OpenAI APIキーの取得
- OpenAIのウェブサイトにアクセスし、アカウントを作成します。
- ログイン後、APIキーのページに移動します。
- 新しいAPIキーを作成し、コピーします。
Pythonコードの準備
- 以下のPythonコードをコピーし、適切な箇所にAPIキーとWordPressの情報を設定します。
keyword.txt
ファイルを作成し、記事のキーワードを記述します。
Pythonコードの解説
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import os from openai import OpenAI from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import NewPost from datetime import datetime import locale # OpenAIクライアントの設定 client = OpenAI( api_key="コピーしたAPIキーを設定" ) # キーワードファイルの読み込み keyword_file_path = 'keyword.txt' with open(keyword_file_path, 'r', encoding='utf-8') as keyword_file: keyword_list = [keyword.strip() for keyword in keyword_file.readlines()] for keyword in keyword_list: question_title = f"「{keyword}」のキーワードで上位表示するための記事のタイトルを作成してください。出力はタイトル1つのみで、文章ではなくタイトルだけでokです。" response = client.chat.completions.create( model="gpt-4o-mini", messages=[ { "role": "system", "content": "あなたはSEOのプロフェッショナルです。日本語で返答してください。" }, { "role": "user", "content": question_title, } ], ) # タイトル生成結果の取得(修正版) generated_title = response.choices[0].message.content print(f"タイトル生成完了 : {generated_title}") question_content = f"「{generated_title}」のキーワードで上位表示するための記事を作成してください。(後述の制約を守って)■制約・全体の文字数は3000文字程度になる想定・見出しはh2、h3を使用する・マークダウン形式で" response = client.chat.completions.create( model="gpt-4o-mini", messages=[ { "role": "system", "content": "あなたはSEOのプロフェッショナルです。日本語で返答してください。" }, { "role": "user", "content": question_content, } ], ) # 記事内容の生成結果を取得(修正版) generated_content = response.choices[0].message.content print("記事内容生成完了") # 日本時間に設定 locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8') url = "https://あなたのドメイン/xmlrpc.php" user = "WordPressのユーザー名" password = "上記ユーザーのログインパスワード" # WordPressクライアントの設定 wp = Client(url, user, password) post = WordPressPost() # 記事の編集 post.post_status = "draft" post.date = datetime.now() post.title = generated_title post.content = generated_content # 投稿 wp.call(NewPost(post)) print(f"投稿完了 : {keyword}") |
keyword.txtの例
1 2 3 |
ケアンズ旅行 グリーン島半日 観光キュランダ鉄道観光 |
コードのポイント
- OpenAI APIキーの設定: OpenAI APIを利用するために、APIキーを設定します。
- キーワードファイルの読み込み: 記事のキーワードを記述したテキストファイルを読み込みます。
- ChatGPTによるタイトル生成: ChatGPTに記事タイトルを生成させます。
- ChatGPTによる記事コンテンツ生成: ChatGPTに記事コンテンツを生成させます。
- WordPressへの投稿: WordPress XML-RPC APIを利用して、生成された記事をWordPressに投稿します。
Pythonコードの実行
- Pythonコードを実行し、記事が自動投稿されることを確認します。
自動で投稿された記事

注意事項
- OpenAI APIの利用には料金がかかる場合があります。
まとめ
この記事では、ChatGPTとPythonを使って、さくらサーバーのWordPressに記事を自動投稿する方法について解説しました。この方法を活用することで、記事作成の効率化を図ることができます。
コメントを残す