Amazon Kindle の無料サンプルを wget でダウンロードしまくる

  • 12
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

これを読んで。
Kindle本の立ち読み版(サンプル)をブラウザで閲覧するための新ブックマークレット

Kindleのサンプルって別に専用アプリが無くても、というかAmazonのアカウントさえ無くても読めると知ったので、さっそく自動ダウンロードのスクリプトを書いてみた。

ダウンロードに必要なものは書籍のASIN番号(Amazonの全ての商品に振られている通し番号)であり、Amazonの商品のページで Ctrl+F [ASIN] とすれば見つかる。ISBNを使いたい場合はISBNからASINに変換する方法があった気がするので知りたい人はggr。

小説

novel.sh
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ファイルが出力される。

漫画

comic.sh
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」のサンプルは以下のとおり。

http://kindleweb.s3.amazonaws.com/content/B00GJMUKBC/gz_sample.html

この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 が出た場合はその時点でループを止めるようにしてある。