キンドルの発売日情報を取りたかったので色々やってみた。商業作品だったらISBNみていれば、発売されるかどうかはわかる。KDPによる個人の出版などは、アマゾンから情報を取るしかない。PAAPIというアマゾンから情報を取れるAPIもあったが、多く情報を取ろうとするとアマゾンのページを示されるだけだった。
結論から言うと5月7日発売のキンドルの本は下のリンクから取れます。「&field-date=20200507」URLの末尾につけると日付を指定できる。
これは検索結果の2ページ目だけの表示になっている。このままではURLエンコードされていて見づらいので、デコードします。なぜ2ページ目から書いているかというと1ページめを指定するとpage=の部分が削除されるから。i=digital-textはキンドルを指している。n:から続く数字はBrowseNodeを示している。簡単に言うとカテゴリーのコードです。
デコードすると多少は見やすくなりました。この様になると検索条件の予想がつくと思う。
これで何をするかというと、単純にキンドルの本のASINを取得に利用する。
ここで触れたのだけど、上のアドレスのページで、F12キーを押してコンソールを選んで、コンソール画面で下のように貼り付けると、クリップボードに表示された本のasinがコピーされる。
table=document.querySelectorAll("h2.a-size-mini > a")
asin=//配列宣言
for (let i = 0; i < table.length; i++) {
asin[i]=table[i].href
asin[i]=asin[i].replace( /^.+dp\/(\w+)\/.+$/g , '$1' )
}
copy(asin)
これをスクレイピングツールなんかで利用すると一括して本のasinが取得できる。それをPAAPIでasinから書誌情報を取得するとアフィリエイト用の画像やURLを得られる。
ただ、問題は大量の期間限定無料本や分冊版や単話が引っかかる。期間限定無料本は毎日のように大量に重複しているので検索ではゴミでしかない。アマゾンもそれらを除外した、紙の本と同時発売された本だけを集めた分類枠を作っている。けれど、それではKDP作品がとれない。
そうやってキンドルの新刊データを集めてできたのがこのサイト。
参考にしたサイト。