LoginSignup
11
14

More than 5 years have passed since last update.

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

Posted at

これを読んで。
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」のサンプルは以下のとおり。

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

11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14