嘗試將「MERCHANTID」參數設置爲「所有」:
root = api.item_search('All', Keywords=searchWord, ResponseGroup='Large', ItemPage=pageNo, MerchantId='All')
如果不指定它,它就會被默認爲「亞馬遜」,這就是爲什麼你看到的只是亞馬遜的產品(請參閱Item Search文檔的詳細信息)
爲了回答您的評論,這裏是我已經嘗試了代碼:
AWS_KEY = '...'
SECRET_KEY = '...'
searchWord = "Lenovo"
pageNo = "1"
api = API(AWS_KEY, SECRET_KEY, 'us')
result = api.item_search('All', Keywords=searchWord, ResponseGroup='Large', ItemPage=pageNo, MerchantId='All')
for item in result.Items.Item:
print item.ItemAttributes.Title
這產生了以下結果(如2011年5月28日的)
- 聯想G560系列067999U筆記本電腦(黑色)
- 聯想G560系列0679ALU 15.6英寸的筆記本電腦(黑色)
- 聯想多媒體遙控鍵盤與
- 聯想G560系列0679AKU 15.6英寸筆記本電腦(黑色)
- 聯想Ideapad Z560 09143YU 15.6英寸筆記本電腦(黑色)
- 聯想IdeaPad U260 08763DU 12.5英寸的超便攜筆記本電腦(Clementine的橙色)
- 聯想IdeaCentre H405 77231AU臺式機(黑色)
- 聯想ThinkPad筆記本0578F7U - 酷睿i3-370M的2.4GHz - 14英寸 - [... ]
- 聯想G560系列0679AJU 15.6英寸筆記本電腦(黑色)
- 聯想Ideapad G550 2958-9PU 15.6英寸筆記本電腦(黑色)
這似乎是目前顯示了確切的10個項目在您評論中鏈接到的Amazon搜索頁面上。
謝謝您的回覆。當我補充說,結果已經改善了很多。但是,它仍然缺少一堆。例如,當我搜索「聯想」時,http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=lenovo&x=0&y=0的前兩個結果仍然沒有出現。你能想到我能做的其他事情來改善結果嗎?非常感謝你的幫助! – iman453 2011-05-28 18:23:31
是的,我不小心放置了一些嘗試:除了:塊,其中程序跳過一些結果。感謝您的回覆 :) – iman453 2011-06-03 22:23:31