Webブラウザ上のAmazonで Kindle Unlimited の本だけを検索することがうまくできなかったので少し調べた。また、Prime Reading も検索するページを少し調べた。動作確認のために、Amazon Kindle Unlimited と Prime Reading の検索ページを作成した。
以下の記述は、2019年10月14日の時点のものである。
目次
参考にしたWeb
「kindle unlimited検索を作ってみた」にURLについての調査の結果があり、Kindle Unlimited のみの検索をするページも用意されている。
URLのフィールドで分かりにくいところがあったので、もう少し検索すると次のStackOverflowに情報が少しあった。
What's the meaning of Amazon's URL?
また、Amazonで Prime Reading を探してその際のURLを調べてみた。
検索用URLの構造
2つのサイトの情報をまとめると以下のようになっているようだ。
k=検索語
「k=」の後に検索語を含める。複数の場合には「+」でつなぐ。
rh=
Kindle Unlimited や Prime Reading、検索対象のカテゴリを指定する。複数の指定がある場合には「,」で区切る。
Kindle Unlimited
「p_n_feature_nineteen_browse-bin:3169286051」でKindle Unlimited を指定するようだ。
Prime Reading
「p_n_special_merchandising_browse-bin:5304495051」でPrime Reading を指定するようだ。
カテゴリ
「n:2250738051」のようにしてkindle 本のカテゴリであることを示す。
カテゴリの指定はなくても検索できるが、カテゴリの指定がない場合にはAmazon全体からkindle unlimited を探すことになるようだ。
Kindle Unlimited の場合には、「n:2250738051」が指定されている。これで検索のカテゴリを Kindle 本に制限しないと、一時的に利用できない Kindle Unlimited の対象も表示されてしまうようである。
Prime Readingの場合には、ちょっと調べた範囲では、「n:2250738051,n:!2250739051,n:2275256051」が指定されていた。ただ、これを指定するとKindle本以外の商品が検索結果に含まれるようであり、正しくない気がする。
Kindle Unlimited だけを検索する
以上からもっとも単純にKindle Unlimited で「WordPress」を検索する場合には、次のようにすればよいようだ。
https://www.amazon.co.jp/s?k=WordPress&rh=p_n_feature_nineteen_browse-bin:3169286051
検索のカテゴリを Kindle 本に制限する場合には、次のようになる。
https://www.amazon.co.jp/s?k=WordPress&rh=p_n_feature_nineteen_browse-bin:3169286051,n:2250738051
Prime Reading だけを検索する
同様に、Prime Reading で「WordPress」を検索する場合には、次のようにすればよいようだ。ただし、Kindle Unlimited を契約しているためか Prime Readingが本当に有効なのか判然としない。
https://www.amazon.co.jp/s?k=WordPress&rh=p_n_special_merchandising_browse-bin:5304495051
検索のカテゴリを Kindle 本に制限する場合には、次のようになるはずだが、Kindle本以外も検索結果に含まれることがある。
WordPress用ページ
Kindle Unlimited と Prime Readingの検索ページを次のURLに作成した。
ページの内容は以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<input id="keywords" type="text" size="30" /> <input id="search" type="button" value="検索" /> <label for="unlimited"><input id="unlimited" type="radio" name="amazon" checked="checked" />Kindle Unlimited</label> <label for="prime"><input id="prime" type="radio" name="amazon" />Prime Reading</label> <label for="kindle"><input id="kindle" type="checkbox" checked="checked" />検索カテゴリをKindle本に限定(Prime ReadingではKindle以外も出力されるようになってしまいます)</label> <label for="url"> URL: <input id="url" size="30" type="text" /> </label> <!--raw--> <script type="text/javascript"> // <![CDATA[ function search() { var words = document.getElementById('keywords').value; var encoded = encodeURIComponent(words); var url = 'https://www.amazon.co.jp/s?k=' + encoded + '&rh=' var unlimited = document.getElementById('unlimited').checked; var prime = document.getElementById('prime').checked; var checked = document.getElementById('kindle').checked; if (unlimited) { url = url + "p_n_feature_nineteen_browse-bin:3169286051"; if (checked) { url = url + ",n:2250738051" } } else if (prime) { url = url + "p_n_special_merchandising_browse-bin:5304495051"; if (checked) { url = url + ",n:2250738051,n:!2250739051,n:2275256051" } } document.getElementById('url').value = url; window.open(url, '_blank'); } function enter() { if (window.event.keyCode == 13) { search(); } } window.onload = function () { document.getElementById('keywords').onkeypress = enter; document.getElementById('search').onclick = search; } // ]]> </script> <!--/raw--> |