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'.'

編集:修正後、長い時間の応答が得KeywordられKeywordsます(無限ループ!そして数回試しました)!XML全体を返すのは好きではありませんが、ボトルノーズのみを使用すると、Priceなどのないタグしか取得できません...

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

Update2: amazon が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

于 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 に答える