2010-03-15 6 views
3

는 내가 ASIN를 기반으로 항목에 대한 이벤트 (그들의 가격)의 목록을 얻을 수있는 함수를 작성하는 것을 시도하고있다 :python-amazon-product-api item_lookup function을 사용하여 아마존에서 항목에 대한 가격 할인 목록을 얻는 방법은 무엇입니까?

def price_offers(asin): 
    from amazonproduct import API, ResultPaginator, AWSError 
    from config import AWS_KEY, SECRET_KEY 
    api = API(AWS_KEY, SECRET_KEY, 'de') 
    str_asin = str(asin) 
    node = api.item_lookup(id=str_asin, ResponseGroup='Offers', Condition='All', MerchantId='All') 
    for a in node: 
     print a.Offer.OfferListing.Price.FormattedPrice 

내가 http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?ItemLookup.html을 읽고이 작품을 만들려고 노력하고 있어요,하지만 모든 시간을 단지 다음과 같이 말합니다 :

Failure instance: Traceback: <type 'exceptions.AttributeError'>: no such child: {http://webservices.amazon.com/AWSECommerceService/2009-10-01}Offer 

답변

6

답변에 Offer 엘리먼트가없는 것 같습니다.

node = api.item_lookup(...) 
from lxml import etree 
print etree.tostring(node, pretty_print=True) 

반환되는 XML이 어떻게 보이는지보십시오.

6

좋습니다. 감사합니다. 같은 문제가있을 수 있습니다 다른 사람을 위해 내 자신의 질문을 anwser하려면 위의 작업을 수행하는 올바른 방법은 다음과 같습니다

def price_offers(asin): 
    from amazonproduct import API, ResultPaginator, AWSError 
    from config import AWS_KEY, SECRET_KEY 
    api = API(AWS_KEY, SECRET_KEY, 'de') 
    str_asin = str(asin) 
    node = api.item_lookup(id=str_asin, ResponseGroup='Offers', Condition='All', MerchantId='All') 
    for a in node.Items.Item.Offers.Offer: 
     print a.OfferListing.Price.FormattedPrice 

amazonproduct는 http://pypi.python.org/pypi/python-amazon-product-api

+0

감사에서 오는이 나를 위해 잘 작동. 플래그를 지정하기 위해서 디폴트 인코딩을 utf-8로 설정해야합니다. 그렇지 않으면 위의 발췌 부분이 통화 기호로 어려움을 겪습니다 –

관련 문제