【Python3】【WordPressAPI】WordPressの全投稿(全記事)を取得

[スポンサーリンク]


Word Press API


WordPressは、RESTAPIを提供しています
Pythonで、WordPressのRESTAPIを使ってみます

https://developer.wordpress.org/rest-api/reference/

[スポンサーリンク]


投稿の情報を取得 List Posts API


WordPressのRESTAPIを使って、全記事の情報を取得します
記事の情報を取得するには、List Posts APIを使います

https://developer.wordpress.org/rest-api/reference/posts/#list-posts

パラメータ


List Posts APIのパラメータは以下です
各項目について、メモを残しておきます
記載内容一切保証出来ません

項目名個人的メモ
context取得対象を選択。view, embed, editから選択
page取得するページ位置を指定
per_page取得する記事数を指定
search取得する記事の検索ワードを指定
after取得する記事の最古日付を指定
author取得する記事の投稿者を指定
author_exclude取得する記事から除外する投稿者を指定
before取得する記事の最古日付を指定
exclude対象とする記事のIDを指定
include対象外とする記事のIDを指定
offset取得結果をオフセットする記事数を指定
orderソート順序を指定。asc, descから選択
orderbyソート方法を指定。author, date, id等から選択
slug取得する記事のスラッグを指定
status取得する記事のステータスを指定
tax_relation取得する記事のタクソノミーを指定
categories取得する記事のカテゴリを指定
categories_exclude取得する記事から除外するカテゴリを指定
tags取得する記事のタグを指定
tags_exclude取得する記事から除外するタグを指定
sticky取得する記事を固定表示のみにする場合に指定

サンプルコード


・postsのエンドポイントを設定

・postsのエンドポイントのヘッダー情報を取得
 List Postsのレスポンスは、ページングで返ってきます
 そこで、ヘッダー情報から総ページ数(X-WP-Total)をまず取得します
 そして、総ページ数分リクエストをすることで全記事情報を取得します

・レスポンスの総ページ数を取得

・総ページ数分のList Postsのレスポンスを取得

・postsのエンドポイントのレスポンスを取得

GETリクエストは、初期設定では認証等は不要です
今回はサンプルコードとして、全記事のタイトルとURLを取得してみます


サンプルレスポンス


1記事分のList Postsのレスポンスは以下です

レスポンスには、タイトルやURL以外にも、カテゴリやタグも含まれています
但し、IDの配列となっていて、カテゴリ名称やタグの名称は取得されません

次回は、カテゴリやタグの情報を取得したいと思います

[スポンサーリンク]

[スポンサーリンク]
▼オンラインで、初心者のプログラミングへの挑戦も、SE職のスキルアップも▼

コメント

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