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 Perl

A lightweight XML parser is all you need to work with Amazon’s data in Perl scripts.

Even without wrapper functions, retrieving data directly from Amazon with XML/HTTP is straightforward. You just need the ability to grab a file from the Web and parse the results.

What You Need

This hack requires two common Perl modules: one to handle the HTTP request and another to parse the XML. Once the Amazon request URL is built, LWP::Simple handles sending the request and receiving the XML with a get( ) function. You can find out more about LWP::Simple at CPAN (http://search.cpan.org/dist/libwww-perl/lib/LWP/Simple.pm).

XML::Simple (http://search.cpan.org/author/GRANTM/XML-Simple-2.04/lib/XML/Simple.pm) is a lightweight XML parser. It provides a quick, simple interface for working with XML.

Many ISPs have both of these modules installed already. If not, you can install them with CPAN:

               perl -MCPAN -e shell
cpan> install XML::Simple

If you have a Win32 system, you can install them from the command line with the package manager like this:

               ppm install XML::Simple

The Code

This code accepts a command-line argument and builds an Amazon URL with the argument as the keyword. Create the file amazon_http.pl with the following code:

#!/usr/bin/perl
# amazon_http.pl
# A typical Amazon Web API Perl script using the XML/HTTP interface
# Usage: amazon_http.pl <keyword> 

#Your Amazon developer's token
my $dev_key='insert developer token';

#Your Amazon affiliate code
my $af_tag='insert associate ...

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