📚

Kindleの蔵書情報をKindleアプリのXMLをパースして可視化する方法

2021/12/23に公開

Kindleの蔵書情報を可視化したい

Kindleの蔵書、以下の方法でcsvを取得して、今年買った書籍の数を可視化したりしていました。
https://qiita.com/taka_hira/items/8a9181c0733de2c9f8ee

以下分析した例です。

https://karaage.hatenadiary.jp/entry/2020/07/20/073000

「今年(2021年)も同じやり方でやろう!」と思ったら何故かできない…というわけで、上記記事も書いてあったもう一つのやり方、KindleアプリのXMLをパースする方法を試してみました。

2024年以降のKindleアプリの仕様

以下のファイルに書籍情報ありそうです。

$HOME/Library/Containers/Kindle/Data/Library/Protected/Protected/BookData.sqlite

なぜか直接openでフォルダ開けないので、まず以下コマンドでフォルダを開いてから、地道にマウスポチポチでたどり着きました。

open $HOME/Library/Containers/

ただ、このファイルで年ごとの可視化をする方法が分からない…

前準備(XMLファイルを取得する)

Kindleアプリをインストールして、一度起動し、Amazonアカウントでログインして終了します。

するとKindleSyncMetadataCache.xmlという名前のXMLファイルが生成されます。

場所は、Windowsは以下

C:\Users\user_name\AppData\Local\Amazon\Kindle\Cache\KindleSyncMetadataCache.xml

Macは以下です。

$HOME/Library/Containers/com.amazon.Kindle/Data/Library/Application\ Support/Kindle/Cache/

Google ColaboratoryのノートブックでXMLをパースして可視化

KindleSyncMetadataCache.xmlをデスクトップ等にコピーしておきましょう。

続いて、xmlファイルをいい感じにパースして可視化していきます。

Google Colaboratory(Google Colab)のNotebookを用意しましたので、以下にアクセスしてください。過去のNotebookでエラーが出るようになったので、2022年版少し修正しました。高橋かずひとさんのブログ記事とColab Notebookを参考にさせていただきました。

2022_kindle_analytics.ipynb

2021年版は参考に残しておきます(多分途中でエラーが出ます)。
2022_kindle_analytics.ipynb

Google Colabの説明や、使い方に関しては以下記事参照ください。
https://karaage.hatenadiary.jp/entry/2018/03/21/073000

やることはGoogle Chromeブラウザで上記Notebookにアクセスして、「ファイル」→「ドライブにコピーして保存」をしたら、ノートブックの最初から「Shift + Enter」をクリックし続けてるだけでOKです。

最初にダイアログが開くので、XMLファイルをアップロードしたら、あとはパースされ、データが加工、可視化されていきます。

XMLファイルのパースに関しては、以下記事を参考にさせていただきました。
https://note.com/nanigashi/n/n8a1e590d2ea3

ChatGPTで可視化する方法

ChatGPTだと簡単に可視化できます(ChatGPT Plusへの課金が必要です)。XMLファイルをアップロードして、以下のプロンプトでお願いしてください。

アップロードしたファイルはKindleの蔵書リストでpurchase_dateが購入日です。年ごとの購入数を可視化してください。

まとめ

今年もいい感じに買ったKindle書籍の数が可視化できました。2021年は244冊でした。

2022年は329冊でした。

他にも、本のタイトルの文字数、作者情報など色々可視化できるので、自分のKindle蔵書情報を分析してみたい方は試してみてください。

関連記事

https://karaage.hatenadiary.jp/entry/2020/07/20/073000

変更履歴

  • 2024/12/02 Kindleアプリの仕様変更に関して追記
  • 2023/12/03 ChatGPTでの可視化方法を追記
  • 2022/12/31 2022年版を追記、Notebook修正

Discussion