def get_similar_books(ASIN): api = API(AWS_KEY, SECRET_KEY, 'us', ASSOCIATE_TAG) for root in api.similarity_lookup(str(ASIN)): try: current_page = root.Items.Request.ItemSearchRequest.ItemPage.pyval except AttributeError: current_page = 1 #print 'page %d of %d' % (current_page, total_pages) nspace = root.nsmap.get(None, '') books = root.xpath('//aws:Items/aws:Item', namespaces={'aws' : nspace}) similar_items = [] i = 0 for book in books: if (i==3): return similar_items similar_items.append(book) i = i + 1
def get_similar_books(ASIN): api = API(AWS_KEY, SECRET_KEY, 'us', ASSOCIATE_TAG) for root in api.similarity_lookup(str(ASIN)): try: current_page = root.Items.Request.ItemSearchRequest.ItemPage.pyval except AttributeError: current_page = 1 #print 'page %d of %d' % (current_page, total_pages) nspace = root.nsmap.get(None, '') books = root.xpath('//aws:Items/aws:Item', namespaces={'aws': nspace}) similar_items = [] i = 0 for book in books: if (i == 3): return similar_items similar_items.append(book) i = i + 1
""" Find similar items to "Small Favor: A Novel of the Dresden Files" (ASIN 0451462009). """ from config import AWS_KEY, SECRET_KEY from amazonproduct import API from amazonproduct import ResultPaginator if __name__ == '__main__': api = API(AWS_KEY, SECRET_KEY, 'us') root = api.similarity_lookup('0451462009') #~ 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 'ASIN %-10s' % book.ASIN, print unicode(book.ItemAttributes.Author), ':', print unicode(book.ItemAttributes.Title)
print d[0][0] """ f = open("recommendations.txt", "a") count = 0 g = open("prices.txt", "a") for item in items: a = item.ASIN result = api.item_lookup(str(a)) #for i in result.Items.Item: #print '%s (%s) in group' % (i.ItemAttributes.Title, i.ASIN) try: result = api.similarity_lookup(str(a)) for b in result.Items.Item: # print '%s (%s)' % (b.ItemAttributes.Title, b.ASIN) if count >= 20: break image = api.item_lookup(str(b.ASIN), ResponseGroup = "Images") price = api.item_lookup(str(b.ASIN), ResponseGroup = "Offers") for i in image.Items.Item: # print '%s' % i.LargeImage.URL if(i.LargeImage.URL != None): f.write("%s $ %s\n" % (b.ItemAttributes.Title, b.DetailPageURL)) count += 1 for i in price.Items.Item: print '%s' % i.OfferSummary.LowestNewPrice.FormattedPrice g.write("%s @ %s\n" % (b.ItemAttributes.Title, i.OfferSummary.LowestNewPrice.FormattedPrice)) except Exception,e: