Mastodon Mastodon

読書メーターからZoteroに文献(書籍)管理を移した

読書メーター(bookmeter)は、ベクトル階級(vectorial class)である角川の資本下にあり、データの可搬性が低いことで知られている読書管理サービスである*1。APIも一般に公開されていないため、ブラウザでスクレイピングすることでしか自分の読書データを取得することができない。これは goodreads のようなサービスとは対比的である。

というわけで、読書メーターから読書記録を取ってきて、本の文献情報はZoteroに入れることにした。この記事はその記録である。

1. Bookmeter → CSV (ISBN 10 + ASIN)

github.com

この Python スクリプトを使って、CSV (ISBN 10 + ASIN) に変換する。なお、自分の macOS Tahoe 環境では chromedriver-binary が動かなかったため、setup.cfg の chromedriver-binary はあらかじめ抜いておく。抜いておいても、動いた(が、chromedriver-binary に詳しい人は「うん」とは言わないかもしれない)。

2. ASIN → ISBN

Zotero は ASIN を読み取れないため、ASIN を ISBN 13 に変換する。しかし ASIN と ISBN は一対一対応していないため、Claude にやってもらう。Open Library API は ASIN と ISBN の対応を提供してくれるらしい。

3. 変換したISBNたちをZoteroに入れる

Zotero API から POST すると、「Add by Identifier」によるインポート(自動で書誌情報を取ってきてくれる)が使えないため、以下のようにISBNの列をconcatnateする。

9xxxxxxxxxx;9xxxxxxxxx;...

そしてこの文字列を「Add by Identifier」に突っ込むと、よしなに文献を追加してくれる。

おわりに

とはいえ、読書は人と人が繋がるための機会を創出するという機能もあるので、読書メータはやめない。しかも、どうやら書誌情報がけっこう書籍によってバラバラだったりする(「The MIT Press」と「MIT Press」など)。だから、併用する形で運用したいと思う。

Zotero はオープンソースである。

*1:「では、はてなブログは?」という声もありそうだが、営業利益が5,000万円ほどの企業にベクトル階級の名を与えることは筋がよいとは思われない。

クリエイティブ・コモンズ・ライセンス
このブログのコンテンツは、クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際 ライセンスの下に提供されています。