【Python】(自作キリンツールへの道) WordPressへの自動投稿:PythonとREST APIを活用した方法

Pytyon

参考書籍

業務効率化に向けたおすすめの参考書になります。

WordPressのブログを持っているけれど、毎回手動でログインして投稿するのはちょっと面倒…。そんな時、PythonとWordPress REST APIを使って、自動で記事を投稿する方法があるんです。この記事では、初心者でもステップバイステップでできるよう、具体的な手順を紹介していきます。

WordPress REST APIとは?

WordPress REST APIは、外部のプログラムからWordPressサイトにアクセスして、投稿の作成や更新、削除などを行うことができる機能です。このAPIを利用することで、ウェブサイトの管理をより柔軟に、自動的に行うことが可能になります。

事前準備

まずはじめに、Pythonのrequestsライブラリが必要になります。このライブラリはHTTPリクエストを簡単に扱うことができます。もしインストールされていない場合は、コマンドラインやターミナルで以下のコマンドを実行してください。

pip install requests

WordPressの設定

WordPressでREST APIを使う前に、いくつかの設定が必要です。まず、サイトがREST APIを受け付けるようにしておく必要がありますが、最新のWordPressではデフォルトで有効になっています。

次に、APIを通じた操作には認証が必要です。簡単な方法は、Application Passwordsプラグインを使う方法です。これにより、専用のパスワードを生成して、APIを安全に利用できるようになります。

Pythonでの投稿作成

すべての準備が整ったら、Pythonスクリプトを書いて実際に投稿を自動化してみましょう。以下は基本的なスクリプトの例です。


import requests

# WordPressの設定
url = 'http://yourwordpresssite.com/wp-json/wp/v2/posts'
user = 'your_username'
password = 'your_application_password'
credentials = (user, password)

# 投稿データ
data = {
    'title': 'Hello, World!',
    'content': 'This is my first post created using the WordPress REST API.',
    'status': 'publish'
}

# リクエストを送信
response = requests.post(url, auth=credentials, json=data)

# 結果を確認
if response.status_code == 201:
    print('Post was successfully created.')
else:
    print(f'Failed to create post. Status code: {response.status_code} - {response.text}')
        

HTMLコンテンツの扱い

contentフィールドにはHTMLコードを含めることができます。これにより、テキストだけでなく、画像、リンク、リストなど、多様なコンテンツを投稿内に埋め込むことが可能です。以下はHTMLコンテンツを含む例です。


data = {
    'title': 'My HTML Post',
    'content': '<p>This is a paragraph with some <strong>bold text</strong> and a <a href="http://example.com">link</a>.</p>',
    'status': 'publish'
}
        

注意点

  • パスワードなどの秘密情報は、スクリプト内に直接記述せず、環境変数などから読み込むようにしましょう。
  • 実運用ではHTTPSを使って通信し、セキュリティを保ちましょう。
  • 不正なコードの埋め込みに注意し、信頼できるコンテンツのみを使用しましょう。

WordPressとPythonを連携させることで、ブログの運営がより便利に、効率的になります。このガイドが皆さんの役に立てば幸いです。

コメント

タイトルとURLをコピーしました