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に作成した。
ページの内容は以下の通り。
<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-->