我试图使用python amazon api在视频游戏中获得价值交易。 http://python-amazon-product-api.readthedocs.org/en/latest/
我尝试过运行此代码:
from amazonproduct import API
api = API(locale='us')
items = api.item_search('VideoGames', Keywords='Metal Gear Solid',IsEligibleForTradeIn ='1')
for item in items:
if item.ItemAttributes.TradeInValue.Amount:
print '%s: %d' % (item.ItemAttributes.Title, item.ItemAttributes.TradeInValue.Amount)
但是我得到一个AttributeError,声称没有这样的孩子" TradeInValue"
此代码有效,直到我要求交易价值,tradeInValue是视频游戏的有效属性吗?
编辑:打印print item.__dict__
{'ItemAttributes': <Element {http://webservices.amazon.com/AWSECommerceService/2011-08-01}ItemAttributes at 0x7f7a1b117128>, 'ASIN': 'B00JKM06HG', 'ItemLinks': <Element {http://webservices.amazon.com/AWSECommerceService/2011-08-01}ItemLinks at 0x7f7a1b1177e8>, 'DetailPageURL': 'http://www.amazon.com/Metal-Gear-Solid-Phantom-Pain-PlayStation/dp/', 'ParentASIN': 'B00KVVSONI'}
答案 0 :(得分:1)
在研究了您提供的一些信息以及item_search和item_lookup
的文档之后看起来item_lookup
(我认为item_search
}可以返回 某些 或 所有 属性,具体取决于请求中指定的响应组。默认情况下,item_lookup
会返回项目的ASIN,制造商,产品组和项目标题。
在浏览AWS上的可用ResponseGroups时,我发现了ItemAttributes
,它还按照here所述返回TradeInValue
。我没有设置亚马逊开发者帐户,但是,您可以尝试将搜索参数更改为以下(并查看其他属性是否显示)
items = api.item_search(
'VideoGames',
Keywords='Metal Gear Solid',
IsEligibleForTradeIn='1',
ResponseGroup='ItemAttributes'
)