使用Amazon API获得最低使用价格

时间:2016-06-05 03:09:36

标签: django amazon-web-services amazon-product-api

我正在使用Django和Amazon API来接收图书定价。我需要二手书最低价格。我一直在显示新的最低价格。下面是我的开发人员使用的代码。她说没有办法获得最低价格。我尝试了各种不同的商品/ OfferSummary等变体。仍然没有改变。我也尝试添加响应元素,但没有变化...从我读到的亚马逊总是首先返回最低新价格,然后是低价使用价格。

我对编码不是很好,但看起来像BeautifulSoup只是拉出显示的第一个数量。有关如何实现这一点的任何想法?花了一整天的时间来改变并且没有获得二手价格......

price_response = amazon.ItemLookup(ItemId=isbn, IdType="ISBN", SearchIndex="Books", 
                                   MerchantID="All", ResponseGroup="Small,OfferSummary")
try:
    desc_soup = BeautifulSoup(price_response,"html.parser")
    book_price = desc_soup.amount.get_text()
    book_price =float( book_price)/100
    book_price = decimal.Decimal(book_price)
    price_range = []

1 个答案:

答案 0 :(得分:1)

目前代码只是找到它可以的第一笔金额。这应该有效:

desc_soup = BeautifulSoup(price_response)
book_price = desc_soup.lowestusedprice.amount.get_text()

鉴于API响应是XML,您确实不应该使用html.parser。你应该这样做:

desc_soup = BeautifulSoup(price_response, 'xml')
book_price = desc_soup.LowestUsedPrice.Amount.get_text()

(注意树对象的大写更改。您还需要安装lxml才能使其工作。)