スポンサーリンク
自分の WordPress に投稿した記事情報を一括で取得する
必要が出てきたので、せっかくなので Python を利用して
記事情報一括取得ツールを作ってみました。
その際の備忘とサンプルコードを書いておきます。
参考になれば嬉しいです。
スポンサーリンク
投稿済みかつ公開状態の記事の情報を取得する場合
WordPress に投稿した記事の情報を取得したい場合は、
requests モジュールを使用して GET メソッドを実行してやればよいです。
以下のサンプルコードをコピペして関数を呼び出してやるだけで、
投稿済み記事のタイトルやURL、記事本文などを辞書形式で取得することができます。
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 |
import requests def get_wordpress_target_article_info(post_id): # 結果を格納する辞書を宣言 result_dict = {} wp_url = "【対象ブログURL】" # API 実行用の情報を作成 api_url = wp_url + "/wp-json/wp/v2/posts/" + str(post_id) # 記事情報を取得する response = requests.get(api_url) result = response.json() # 結果まとめ result_dict["URL"] = result["link"] # 記事URL result_dict["POST_ID"] = result["id"] # POST_ID result_dict["TITLE"] = result["title"]["rendered"] # 記事タイトル result_dict["MAIN_TEXT"] = result["content"]["rendered"] # 記事本文 result_dict["THUMBNAIL_MEDIA_ID"] = result["featured_media"] # サムネイル画像の Media ID result_dict["STATUS"] = result["status"] # 記事の投稿状態 result_dict["LAST_MODIFYED_DATETIME"] = result["modified"] # 最終更新日付 return result_dict |
スポンサーリンク
|
|
投稿済みかつ未公開状態の記事の情報を取得する場合
現時点で「下書き」や「削除」の状態になっている記事の情報も取得したい場合は、
API 実行時に WordPress のクレデンシャル情報も一緒に渡してやる必要があります。
ここでいうクレデンシャル情報とは、以下の記事内でも紹介している、
API 用ユーザと、ApplicationPasswordsプラグインで発行したそのユーザ用のパスワードのことです。
API での WordPress 自動投稿(POST)に失敗したときの解決策【備忘録】
現在、ちょっとした思い付きから、Wordpress へ記事を自動投稿してくれる
ツールを作成していますが、その最中につまづいた問題とその解決策について
備忘録として残しておきます。
パスワード未発行の場合は、先にパスワードを発行しておきましょう。
クレデンシャル情報込みのサンプルコードは以下。
GET を投げるときに、クレデンシャル情報も一緒に投げてやります。
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 |
import requests def get_wordpress_target_article_info(post_id): # 結果を格納する辞書を宣言 result_dict = {} # 認証情報を設定 wp_url = "【対象ブログURL】" user = "【対象ブログのユーザ名】" # ★追加 password = "【上記ユーザのパスワード】" # ★追加 # API 実行用の情報を作成 api_url = wp_url + "/wp-json/wp/v2/posts/" + str(post_id) # 記事情報を取得する response = requests.get(api_url, auth=(user, password)) # ★追加 result = response.json() logger.info(result) # 結果まとめ result_dict["URL"] = result["link"] # 記事URL result_dict["POST_ID"] = result["id"] # POST_ID result_dict["TITLE"] = result["title"]["rendered"] # 記事タイトル result_dict["MAIN_TEXT"] = result["content"]["rendered"] # 記事本文 result_dict["THUMBNAIL_MEDIA_ID"] = result["featured_media"] # サムネイル画像の Media ID result_dict["STATUS"] = result["status"] # 記事の投稿状態 result_dict["LAST_MODIFYED_DATETIME"] = result["modified"] # 最終更新日付 return result_dict |
他にも、コメントの公開/非公開の状態や、カテゴリーIDなど、
色々な情報を取得することができます。
さいごに
WordPress API を使うとどのような情報が取得できるのか?
どんなことができるのか?については、その調べ方含め、
別の記事をそのうち書こうと思います。
ではでは。
コメント