【问题标题】:Amazon api not returning results aligned with the amazon website results亚马逊 api 未返回与亚马逊网站结果一致的结果
【发布时间】:2011-05-27 21:41:03
【问题描述】:

我正在使用python-amazon-product-api 创建一个搜索栏,它将返回与亚马逊网站上返回的结果相似的结果。但是,当我执行 itemSearch 时,如下所示,我得到了一些结果,但它只返回由亚马逊销售和发货的产品。我想知道是否有人可以帮我解决这个问题。

 root = api.item_search('All', Keywords=searchWord, ResponseGroup='Large', ItemPage=pageNo)

【问题讨论】:

    标签: python amazon amazon-product-api


    【解决方案1】:

    尝试将“MerchantId”参数设置为“All”:

    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 笔记本电脑(黑色)
    • Lenovo G560 系列 0679ALU 15.6 英寸笔记本电脑(黑色)
    • 带键盘的联想多媒体遥控器
    • 联想 G560 系列 0679AKU 15.6 英寸笔记本电脑(黑色)
    • 联想 Ideapad Z560 09143YU 15.6 英寸笔记本电脑(黑色)
    • Lenovo IdeaPad U260 08763DU 12.5 英寸超便携笔记本电脑(克莱门汀橙)
    • Lenovo Ideacentre H405 77231AU 台式机(黑色)
    • Lenovo ThinkPad 0578F7U 笔记本电脑 - Core i3 i3-370M 2.4GHz - 14 英寸 - [...]
    • 联想 G560 系列 0679AJU 15.6 英寸笔记本电脑(黑色)
    • Lenovo Ideapad G550 2958-9PU 15.6 英寸笔记本电脑(黑色)

    这似乎正是您在评论中链接到的亚马逊搜索页面上当前显示的 10 项。

    【讨论】:

    • 感谢您的回复。当我添加它时,结果改善了很多。但是,它仍然缺少一堆。例如,当我搜索“联想”时,amazon.com/s/… 的前两个结果仍然不显示。你能想到我还能做些什么来改善结果吗?非常感谢您的帮助!
    • 是的,我不小心放置了一些 try: except: 块,这让程序跳过了一些结果。谢谢你的回复:)
    猜你喜欢
    • 2016-11-26
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    相关资源
    最近更新 更多