Kindle書籍タイトルからシリーズ名を取得したい
Kindle の書籍タイトルからシリーズ名を取得しておきたいと思うことがある。既に所持しているシリーズの新刊が出たら通知したり、逆にいらないと判定したらシリーズ全体をブロックしたり、セール対象の一覧を作る際に全巻分の情報を集約させれば目検対象が絞り込めたりできる。
Amazon内部においてはシリーズの管理がされているが、PAAPIのレスポンス等には情報が入っていないためタイトル文字列からシリーズ名を取得するための正規表現リストをヒューステリックに作成した。
ついでに、「【極!合本シリーズ】」や「【特製イラスト付き】」みたいな表記揺れも削除する。
タイトル正規化処理の変換結果例
具体的には以下のテストにパスする文字列変換が行われる。run_text.py で pytest による検証が可能だ。
このようなロジックを入れることで、大抵のシリーズ名を内部データの関数従属的なメタ情報として集約処理等に利用させることができる。ただし、サブタイトルがある場合と巻数を意味する文字列が複数ある場合についてはうまくいかない。
所持済み書籍のタイトルリストは上記の応用で作成可能。都度通信がないのと、それなりにコンパクトな正規表現でなんとかなりそうなので、こちらをブラッシュアップさせていく方向性としたいが、この手のメタ情報が軽く利用できる方式で公開されていないのかと思ったりもする。