Skip to content
はてなブログの記事のタイトルとカテゴリーを変更を補助する CLI ツール
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
get-tc.py
update-tc.py

README.md

tc-changer

はてなブログの記事のタイトルとカテゴリーを変更を補助する CLI ツール

目的

2019年に「はてなダイアリー」が終了するので、インポート機能を使って、過去の記事を 「はてなブログ」にインポートしました。

ところが、「はてなダイアリー」と「はてなブログ」でカテゴリーのつけかたを変えていたため、 カテゴリーがカオスになってしまいました。

また、初期には「はてなダイアリー」を日記モードで書いていたため、タイトルが無い記事も 多数存在していました。

これらをはてなブログの Web 画面上から変更することは僕には苦痛だったので、 一括して変更するための python スクリプトを作りました。

環境

Ubuntu 16.04 と Window 10 (Home) で anaconda 環境で確認しました。

python3.7 で作成しました、未確認ですがフォーマット済み文字列リテラル (formatted string literal) を 使用しているので Python3.6 未満では動かないと思います。

ライブラリとして pyyaml と requests を使っています、anaconda の場合

conda install -c conda-forge pyyaml
conda install -c conda-forge requests

でインストールできます。

使い方

はてなブログのダッシュボードの [設定] -> [詳細設定] より AtomPub の APIキーとエントリーポイントをコピーして下さい

以下のコマンドでブログの全記事のタイトルやカテゴリーの情報を指定された ファイルに YAML 形式で書き出します。

python get-tc.py --api-key=<APIキー> <エントリーポイント> <出力ファイル名>

yaml ファイルの中身は記事(エントリー)の配列になっており、ひとつのエントリーは以下の用になっています。

- categories:
  - カテゴリ
  entry_id: エントリID
  link: 記事のURL
  published: 最初に書いた日付
  summary: 記事のサマリー
  title: 記事のタイトル

テキストエディタとうでこのファイルを書き換えて下さい。 更新の必要の無いエントリーは不要なので必要なエントリーだけ抜き出して別ファイルに したほうが良いかもしれません。 カテゴリと記事のタイトルだけが編集可能です。エントリIDは変更しないで下さい。 それ以外の項目は編集の目安として読み込んでいるだけなので、変更しても反映しません。

編集が終わったら、以下のコマンドで更新してください。

python update-tc.py --api-key=<APIキー> <エントリーポイント> <入力ファイル名>
You can’t perform that action at this time.