O'Reilly logo

Amazon Hacks by Paul Bausch

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Program AWS with Python

Use existing Python functions to handle Amazon requests for you.

This hack is another example of using someone else’s interface to AWS to speed up your development. Behind the scenes, these functions handle all the work of building the proper URL, making the request, and organizing the results. The only thing you need to do is learn how the wrapper works.

What You Need

Mark Pilgrim’s pyAmazon (http://diveintomark.org/projects/#pyamazon) makes quick work of an Amazon query in Python. The wrapper is a single file called amazon_wrap.py ; be sure to save it to the same directory as the script that uses it.

Tip

If you’ll be using pyAmazon in several files across different directories, save it to your Python installation’s Lib directory so that it will be available to any script.

The Code

The code in amazon_wrap.py sets the License argument with your developer’s token, and calls the searchByKeyword function using the argument supplied on the command line.

#!/usr/bin/python
# amazon_wrap.py
# A typical Amazon Web API Python script using Mark Pilgrim's
# pyAmazon Amazon Web Service API wrapper
# [http://diveintomark.org/projects/#pyamazon]
# Usage: python amazon_wrap.py <keyword> 

import sys

# Use the pyAmazon Functions
import amazon

# Set your dev token
amazon.setLicense(' insert developer token here ') # Get the Keyword from input if sys.argv [1:]: actor = sys.argv [1 ] else: sys.exit('Usage: python amazon_wrap.py <keyword>') # Make the Request pythonBooks = amazon.searchByKeyword(actor) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required