我正试图找到一种方法来查看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即时视频上的视频是否可用而无需刮取页面并查找文本模式?
答案 0 :(得分:2)
首先,ItemLookup
请求不支持BrowseNode
属性。只有ItemSearch
。不幸的是ItemLookup
确实没有成功,但我认为,你可以使用ItemSearch
请求实现你想要的目标。
尝试以下方法:
ItemSearch
。 ItemSearch
支持明确搜索特定标题(或部分标题)的属性Title
。您还可以使用属性BrowseNode
使用已找到的浏览节点" Prime Instant Video" -node(2676882011)。这样,您只能在主即时视频节点中搜索具有特定标题的项目。请求:
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 ,但不在Prime 。
答案 1 :(得分:0)
原来,亚马逊没有计划在他们的API中支持这个领域。确定Prime电影是否可用的最佳方法是抓取页面并解析它以查看它是否可用于Prime。
以下Xpath可行:
//div[@id='dv-side-box-container']//a[contains(@class, 'prime')]