【Pythonブログ投稿自動化】記事のメタデータの管理方法について考える

ブログ

記事のメタデータの管理の必要性

Pythonを使ってWordPressに記事を投稿する方法については以下の記事などで紹介してきましたが、実際にブログ記事投稿をPythonで完結させるためには、そのほかにも準備が必要です。

例えば、記事投稿においては、本文データ以外にも、

  • タイトル (title)
  • 本文 (body)
  • カテゴリ (categories)
  • タグ (tags)
  • 公開状態 (status)
  • アイキャッチ画像 (eye_catch_img_id)
  • パーマリンク (link_name)
  • メタデータ (meta_data)
  • 公開日 (date)
  • コメント状態 (comment_status)

などの情報が必要になります。(必須でないものもあります)

これらの情報をどのように管理していくべきか今回は、考えたいと思います。

メタデータのcsv管理

手軽にこれらのデータを管理する方法はcsvやエクセルを使って、メタデータを管理する方法です。

csvの項目として、ファイルパス、タイトル、カテゴリなどを入力するようにしておき、そのデータをPythonで読み込んで投稿するという方法がわかりやすく、比較的実現しやすいやり方になります。

一方で、デメリットとしては、毎回記事に関するデータをcsvに入力する必要があるので、面倒ということが挙げられます。

メタデータのマークダウンへ記述

もう一つ、考えられる方法は、記事本文のマークダウンファイルに直接これらの情報を記述するやり方です。
この方法はCSVで管理する方法に比べて、作成時の手間をいくらか減らすことができます。

一方で、ファイルの投稿における処理は複雑になります。どこからどこまでが、メタデータで、どこからが本文か自動で分ける必要があるなど。

私のやり方

現在、私が採用している方法は、今回紹介した、CSV管理とMarkdownファイルへの直接記述の両方を組み合わせたやり方になります。

具体的には、マークダウンファイル内部にメタデータに関する情報が記述されている場合には、それらを読み取って、CSVにメタデータを記述するというコードを別途作成します。

このようにすることで、マークダウンファイルに直接書いた場合でも、CSVを編集した場合でも、その内容に応じて、自動で投稿ができるようにしています。

より詳しいやり方については、今後の記事で紹介していきます。

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