很抱歉,如果它被认为是重复的,但我已经尝试了所有可以与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
的结果相同,在该示例中,文件与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'.'
编辑:在将Keyword
更正为Keywords
之后,我得到了一个懒散的时间响应(无限循环!并尝试了几次)!不像只返回整个XML,但是当只使用bottlenose时,我会得到没有Price或其他东西的标签......
<ItemLink>
<Description>Technical Details</Description>
<URL>http://www.amazon.com/*****</URL>
</ItemLink>
Update2:亚马逊似乎会返回ALL
个结果,所以如何将其限制为仅限第一个桶(因为它通过 10个结果的组得到结果)
答案 0 :(得分:1)
没有使用Amazon API的经验:这是一个正确而智能地执行搜索的问题。仔细考虑一下,然后通读
http://docs.amazonwebservices.com/AWSECommerceService/2011-08-01/DG/ItemSearch.html
这样您就不会错过任何重要的搜索功能。
响应包含介于0和数百项之间的内容,具体取决于您搜索查询的智能程度。在任何情况下,响应中的项目都通过其ASIN(产品ID)标识自己。示例:<ASIN>B00021HBN6</ASIN>
通过ItemSearch
收集了ASIN后,您可以对这些项目执行ItemLookup
,以便查找更多详细信息,例如价格。
答案 1 :(得分:0)
抱歉延迟,解决了:
使用search_n
:
test = api.search_n(10, Keywords='example name', SearchIndex='All') # this will return only 10 results