2

我正在尝试寻找一种方法来查看 AWS API 是否可以判断电影是否在 Prime 即时视频上可用。

基于 AWS 开发人员论坛上的主题: https ://forums.aws.amazon.com/thread.jspa?threadID=93283

似乎有一个 Amazon Prime Instant Videos 节点 (2676882011) 但是,即使电影在 Prime 上不可用,尝试类似以下的操作也会返回结果:

http://webservices.amazon.com/onca/xml?Service=AWSECommerceService
&Version=2011-08-01
&Operation=ItemLookup
&ItemId=B000V1Z8KK
&BrowseNode=2676882011
&AssociateTag=xxxxxx

线程中的响应还指出它不可靠。

有没有办法检查 Prime 即时视频上的视频是否可用,而无需抓取页面并查找文本模式?

4

2 回答 2

2

首先,ItemLookup请求不支持BrowseNode属性。只有这样ItemSearch做。所以不幸的是 a确实行不通,但我想,你可以使用请求ItemLookup来实现你想要的。ItemSearch

尝试以下操作:

  1. 使用亚马逊电影标题。我假设您可以访问电影标题?(如果没有,您可以使用 API 快速请求)。
  2. 制作一个ItemSearch. 支持显式搜索某个标题(或其部分)ItemSearch的属性。Title您还可以使用已找到的浏览节点,即“Prime Instant Video”节点 (2676882011),使用属性BrowseNode. 这样,您只需在主要即时视频节点中搜索具有特定标题的项目。
  3. 现在看看结果:如果它包含 items它是 prime如果它不包含,它不是

例子

执行如下请求:

http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService
&Version=2013-08-01
&AssociateTag=Foo
&Operation=ItemSearch
&SearchIndex=Video
&BrowseNode=2676882011
&Title=Fargo

响应将包含一项:电影Fargo [HD]。这是因为它在 Prime 中

如果您将请求更改为:

http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService
&Version=2013-08-01
&AssociateTag=Foo
&Operation=ItemSearch
&SearchIndex=Video
&BrowseNode=2676882011
&Title=Gone+Girl

你不会得到任何物品Gone Girl在 Amazon Instant Video 中可用,但在 Prime中不可用。

于 2015-02-26T14:22:28.010 回答
0

原来亚马逊没有计划在他们的 API 中支持这个字段。确定电影是否在 Prime 上可用的最佳方法是通过抓取页面并解析它以查看它是否在 Prime 上可用。

以下 Xpath 可以工作:

//div[@id='dv-side-box-container']//a[contains(@class, 'prime')]
于 2014-05-20T05:28:39.867 回答