4

很抱歉,如果它被认为是重复的,但我已经尝试了所有可以与 Amazon API 通信的 python 模块,但遗憾的是,它们似乎都需要产品 ID 才能获得确切的价格!我需要的是产品名称的价格!

最后,我尝试了Bottlenose的扩展,它的名称是python-amazon-simple-product-api,但它有同样的问题:我如何只从产品名称中获取价格。

这是我尝试过的:

product = api.search(Keyword = "playstation", SearchIndex='All')

for i, produ in enumerate(product):
    print "{0}. '{1}'".format(i, produ.title)

produ.price_and_currency(这与在文件的示例中使用 which 与 ID 一起使用的结果相同)

然后给我这个错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build\bdist.win-amd64\egg\amazon\api.py", line 174, in __iter__
File "build\bdist.win-amd64\egg\amazon\api.py", line 189, in iterate_pages
File "build\bdist.win-amd64\egg\amazon\api.py", line 211, in _query amazon.api.SearchException: Amazon Search Error: 'AWS.MinimumParameterRequirement', 'Your request should have atleast 1 of the following parameters: 'Keywords','Title','Power','BrowseNode','Artist','Author','Actor','Director','AudienceRati g','Manufacturer','MusicLabel','Composer','Publisher','Brand','Conductor','Orchestra','Tex Stream','Cuisine','City','Neighborhood'.'

编辑:更正KeywordKeywords我得到了一个长时间的响应(无限循环!并尝试了几次)!不像只返回整个 XML,但是当只使用宽吻时,我只会得到没有价格或其他东西的标签......

<ItemLink>
  <Description>Technical Details</Description>
    <URL>http://www.amazon.com/*****</URL>
</ItemLink>

Update2:亚马逊似乎会返回ALL结果,所以如何将其限制为仅第一个存储桶(因为它按10 个结果组给出结果

4

2 回答 2

1

如果没有使用 Amazon API 的经验:这是一个正确而智能地执行搜索的问题。仔细想想,通读一遍

http://docs.amazonwebservices.com/AWSECommerceService/2011-08-01/DG/ItemSearch.html

这样您就不会错过任何重要的搜索功能。

响应包含 0 到数不胜数的项目,具体取决于您搜索查询的智能程度。在任何情况下,响应中的商品都会通过其 ASIN(产品 ID)来标识自己。例子:<ASIN>B00021HBN6</ASIN>

通过 收集 ASIN 后ItemSearch,您可以ItemLookup对这些商品执行 an 以查找更多详细信息,例如价格。

于 2012-09-23T15:02:47.293 回答
0

抱歉耽搁了,解决了:

分页使用search_n

test = api.search_n(10, Keywords='example name', SearchIndex='All') # this will return only 10 results

关联

于 2013-05-22T15:09:42.987 回答