Python中的亚马逊产品API [重复]
Posted
技术标签:
【中文标题】Python中的亚马逊产品API [重复]【英文标题】:Amazon Product API in Python [duplicate] 【发布时间】:2011-11-28 08:25:17 【问题描述】:可能重复:Amazon API library for Python?
我想使用 python-amazon-product-api 和 lxml.objectify 对 Amazon 产品 API 进行简单查询。
from amazonproduct import API
AWS_KEY = '..'
SECRET_KEY = '..'
api = API(AWS_KEY, SECRET_KEY, 'de')
node = api.item_search('Books', Publisher='Galileo Press')
# node object returned is a lxml.objectified element
# .pyval will convert the node content into int here
total_results = node.Items.TotalResults.pyval # <--- error
total_pages = node.Items.TotalPages.pyval
# get all books from result set and print author and title
for book in node.Items.Item:
print '%s: "%s"' % (book.ItemAttributes.Author, book.ItemAttributes.Title)
错误信息:
AttributeError: 'LxmlItemSearchPaginator' 对象没有属性 'Items'
lxml 安装正确!
错在哪里?
【问题讨论】:
我也遇到了同样的问题,今天发现了。我已经向 API 的问题列表报告了这个问题。检查出来。 bitbucket.org/basti/python-amazon-product-api/issue/25/… 【参考方案1】:我也遇到了类似的问题,示例中的节点包含 LxmlItemSearchPaginator 而不是实际结果。这是完整的工作示例。
from amazonproduct import API
AWS_KEY = '...'
SECRET_KEY = '...'
if __name__ == '__main__':
api = API(AWS_KEY, SECRET_KEY, 'us')
for root in api.item_search('Books', Publisher='Apress',
ResponseGroup='Large'):
# extract paging information
total_results = root.Items.TotalResults.pyval
total_pages = root.Items.TotalPages.pyval
try:
current_page = root.Items.Request.ItemSearchRequest.ItemPage.pyval
except AttributeError:
current_page = 1
print 'page %d of %d' % (current_page, total_pages)
#~ from lxml import etree
#~ print etree.tostring(root, pretty_print=True)
nspace = root.nsmap.get(None, '')
books = root.xpath('//aws:Items/aws:Item',
namespaces='aws' : nspace)
for book in books:
print book.ASIN,
if hasattr(book.ItemAttributes, 'Author'):
print unicode(book.ItemAttributes.Author), ':',
print unicode(book.ItemAttributes.Title),
if hasattr(book.ItemAttributes, 'ListPrice'):
print unicode(book.ItemAttributes.ListPrice.FormattedPrice)
elif hasattr(book.OfferSummary, 'LowestUsedPrice'):
print u'(used from %s)' % book.OfferSummary.LowestUsedPrice.FormattedPrice
【讨论】:
我用图书馆的瓶鼻得到它!以上是关于Python中的亚马逊产品API [重复]的主要内容,如果未能解决你的问题,请参考以下文章