Kindleで購入した本をブクログにインポートする(Macユーザー向け)

ブクログは仮想的な本棚を作成したり、本のレビューやメモを残したりできるサービスです。 同様のサービスに読書メーターがありますが、こちらは読書メモを非公開にすることができず、また、1つの本に対して残せるメモの文字数が250文字に制限されるため、個人用に読書記録を残す用途としては「ブクログ」の方が適していそうです(ユーザー数は「読書メーター」の方が多いらしい)。

インポート手順

1. ターミナル.appの起動

アプリケーション > ユーティリティーにあるターミナル.appを起動します。

別のターミナルアプリを使用している方は、そちらで大丈夫です。

2. Kindle for Macの準備

Kindle for Macがインストール済みでない場合は、こちらからインストールしてください。

3. Kindleのキャッシュデータの生成

Kindle for Macを起動し、🔄をクリックしてライブラリを最新の状態に更新します。更新が完了したらアプリを終了します。

アプリを終了すると、Kindleで購入した本のXML形式のキャッシュデータKindleSyncMetadataCache.xmlが生成されます。

4. インポート用CSVファイルの作成

上の手順で生成されたXMLファイルを解析してインポート用のCSVを作成します。

ターミナルに以下のコマンドを貼り付けてEnterキーを押して実行します。

xmllint --xpath '//purchase_date[string-length(text()) > 0]/../ASIN | //purchase_date[string-length(text()) > 0]/../purchase_date' ~/Library/Application\ Support/Kindle/Cache/KindleSyncMetadataCache.xml | sed -E 's/<ASIN>([^<]+)<\/ASIN><purchase_date>([^<]+)<\/purchase_date>/\1 \2\n/g' | sort -k 2 | awk '{print "1," $1 ",,,,,,,,,"}' > ~/Downloads/import.csv

コマンドを実行すると、ダウンロードフォルダにインポート用のCSVファイルimport.csvが作成されます。

このファイルを開き、1列目に1、2列目に10桁のASINコードが出力されていれば正しく作成できています。

1,B009IXLHZ2,,,,,,,,,
1,B009IXKPVY,,,,,,,,,
1,B009IXASIE,,,,,,,,,
1,B009IXJVVO,,,,,,,,,
1,B009KSOWRU,,,,,,,,,

Send to Kindle等でインポートしたAmazonで購入していない書籍は、このCSVには含まれません。 購入した順番に並べ替えているので、インポートすると購入日時が新しいものが本棚の上に並びます。

5. ブクログにインポート

ブクログインポート画面で、上の手順で作成したCSVファイルimport.csvを指定してインポートを実行します。

インポート完了後に本棚画面に移動すると... 綺麗にインポートできました。以上で終了です。

ブクログの本棚