これを読んで。
Kindle本の立ち読み版(サンプル)をブラウザで閲覧するための新ブックマークレット
Kindleのサンプルって別に専用アプリが無くても、というかAmazonのアカウントさえ無くても読めると知ったので、さっそく自動ダウンロードのスクリプトを書いてみた。
ダウンロードに必要なものは書籍のASIN番号(Amazonの全ての商品に振られている通し番号)であり、Amazonの商品のページで Ctrl+F [ASIN] とすれば見つかる。ISBNを使いたい場合はISBNからASINに変換する方法があった気がするので知りたい人はggr。
小説
wget "http://kindleweb.s3.amazonaws.com/content/$1/gz_sample.html" -O $1.gz
gunzip -d $1.gz
mv $1 $1.html
使用例: ASIN番号 B00GJMUKBC
の書籍のサンプルをダウンロードする場合
$ ./novel.sh B00GJMUKBC
B00GJMUKBC.html というファイル名で1個のHTMLファイルが出力される。
漫画
for i in `seq 1 1000`
do
wget http://kindleweb.s3.amazonaws.com/content/$1/images/img$i.jpg
# ファイルが見つからなければループを抜ける
if [ "$?" -ne 0 ]
then
exit 1
fi
# ファイル名の接頭辞にASIN番号を付与
mv img$i.jpg $1.$i.jpg
done
使用例: ASIN番号が B009KYCHCG
の漫画に対し
$ ./comic.sh B009KYCHCG
B009KYCHCG.1.jpg から始まる連番JPEGとしてダウンロードされる。
解説
ASIN が振られている書籍に対しては、以下のURLにアクセスすればサンプルをHTML形式で閲覧できる。
http://kindleweb.s3.amazonaws.com/content/[ASIN]/gz_sample.html
例として円城塔「Self-Reference Engine」のサンプルは以下のとおり。
このHTMLファイルはgzip圧縮されているため、wgetでダウンロードした後に解凍して拡張子htmlを付与している。
漫画本の場合、このHTMLファイルの中に画像が貼られているが、その画像は(僕の調べた範囲では全て)以下のような連番形式となっている。
http://kindleweb.s3.amazonaws.com/content/[ASIN]/images/img1.jpg
例として岩明均「ヒストリエ」1巻の冒頭数ページを以下に示す。
http://kindleweb.s3.amazonaws.com/content/B009KYCHCG/images/img3.jpg
http://kindleweb.s3.amazonaws.com/content/B009KYCHCG/images/img4.jpg
http://kindleweb.s3.amazonaws.com/content/B009KYCHCG/images/img5.jpg
http://kindleweb.s3.amazonaws.com/content/B009KYCHCG/images/img6.jpg
ただしサンプルが何ページあるかは物によって異なるため、403 Error が出た場合はその時点でループを止めるようにしてある。