Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^3: Anyone Have Perl Code for New Amazon API? [SOLVED]

by Your Mother (Chancellor)
on Oct 28, 2011 at 12:55 UTC ( #934387=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Anyone Have Perl Code for New Amazon API? [SOLVED]
in thread Anyone Have Perl Code for New Amazon API? [SOLVED]

Your doubt stings. I realized that XML::LibXML will now do URI fetching itself so we can leave out dealing with the user agent stuff.

#!/usr/bin/env perl use strict; use warnings; use URI::Amazon::APA; use XML::LibXML; use XML::LibXML::XPathContext; my $key = $ENV{AWS_KEY} || "YOURKEYHERE"; my $secret = $ENV{AWS_SECRET} || "youforgottoputyourownsecretin"; my $asscociate = $ENV{AWS_ASSOC} || "this-isnt-it-20"; my $title = shift || die "You must provide a search string"; my $mode = shift || die "You must provide a mode, e.g., Books"; my $uri = URI::Amazon::APA->new(""); $uri->query_form( Service => "AWSECommerceService", Operation => "ItemSearch", ResponseGroup => "Large", AssociateTag => $asscociate, Title => $title, SearchIndex => $mode, ); $uri->sign( key => $key, secret => $secret ); my $doc = XML::LibXML->load_xml( location => $uri ); my $xc = XML::LibXML::XPathContext->new($doc); $xc->registerNs('amzn', $doc->getDocumentElement->namespaceURI); if ( my @error = $xc->findnodes('//amzn:Error') ) { die join("\n", map { $_->textContent } @error ), $/; } for my $item ( $xc->findnodes('//amzn:ItemAttributes/amzn:Title/text() +') ) { print $item->nodeValue, $/; } # print $doc->serialize(1);

Set-up ENV or add your info to the script and then– perl Books Learning Perl Programming Perl (3rd Edition) Learning Perl, 5th Edition Perl Cookbook, Second Edition Perl Pocket Reference Regular Expression Pocket Reference: Regular Expressions for Perl, Rub +y, PHP, Python, C, Java and .NET (Pocket Reference (O'Reilly)) Intermediate Perl Modern Perl Beginning Perl for Bioinformatics Automating System Administration with Perl: Tools to Make You More Eff +icient

Comment on Re^3: Anyone Have Perl Code for New Amazon API? [SOLVED]
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934387]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2015-10-13 07:26 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (296 votes), past polls