読者です 読者をやめる 読者になる 読者になる

すてにゃん氏の技術ぶろぐ

技術っぽいこと書きます

Amazonプライムビデオ新着アニメ取得方法

Amazonプライムビデオ新着アニメの取得方法についてです。

サイト経由

サイトでみる場合はおそらく普通に検索で絞り込む感じになると思います。
https://www.amazon.co.jp/s/?rh=n%3A2351649051%2Cn%3A2478407051%2Cp_n_ways_to_watch%3A3746330051&sort=date-desc-rank

ちなみにデコードしてみるとこうなります。
https://www.amazon.co.jp/s/?rh=n:2351649051,n:2478407051,p_n_ways_to_watch:3746330051&sort=date-desc-rank

n:2351649051, n:2478407051の部分がAmazonプライムビデオ→アニメという絞り込みを指定していて、p_n_ways_to_watch:3746330051がプライム会員特典、sort=date-desc-rankは日付でソートという感じだと思います。

API経由

Product Advertising API を利用すると取得できました。

こちらのAPIドキュメントの中のItemSearchを利用すると上記と同じような検索の結果を取得できました。
docs.aws.amazon.com

以下のようにパラメータを指定しました。

パラメータ
BrowseNode 3535604051
Keywords アニメ
SearchIndex VideoDownload
Sort date-desc-rank

上記を指定してAPIを叩くと検索結果のXMLが返ってきて、新着アニメのASINやサブタイトルが取得できます。

それぞれのパラメータについては以下、軽く説明します。

BrowseNode

Amazonでカテゴリーを表す値です。サブカテゴリーなどにもBrowseNodeがあるので今回は日本のAmazonプライムビデオのBrowseNodeを指定しました。

日本のBrowseNode一覧はこちらに載っています。
docs.aws.amazon.com

と思いきや、プライムビデオは載っていないですね。ここにはRootBrowseNodeしか載っていないようです。

APIのBrowseNodeLookupというのを利用すると子のBrowseNodeも調べることができそうです。ただそんなことしなくてもサイトにアクセスしてURLをみるとBrowseNodeが入ってるのでそこから確認するのも楽で良いです。

https://www.amazon.co.jp/Prime-Video/b/?node=3535604051

node=3535604051の3535604051の部分がそうです。

Keywords

検索のキーワードです。今回はアニメがみたかったので単純にアニメを指定しました。

SearchIndex

検索する際に絞り込むカテゴリーです。BrowseNodeで絞り込んでるのでいいでしょとちょっと思ったけどSearchIndexは必須のようでした。

ここのAmazon インスタント・ビデオのSearchIndexであるVideoDownloadを指定しました。
docs.aws.amazon.com

Sort

検索結果のソートの仕方です。

先程から参考にしている表にもソート一覧が載ってました。
docs.aws.amazon.com

date-desc-rank

popularity-rank

price-asc-rank

price-desc-rank

relevancerank

review-rank

今回は新着がほしいのでdate-desc-rankを指定しました。

ほか

自分はAPIを定期的に叩くものをGolangで書きましたが、何も考えずにASINだけで比較しているとたまに同じ作品で違うASINというものに遭遇したのでもう少し考えたほうが良いかもしれない。