Skip to Content
Amazon Hacks
book

Amazon Hacks

by Paul Bausch
August 2003
Intermediate to advanced
304 pages
7h 33m
English
O'Reilly Media, Inc.
Content preview from Amazon Hacks

Cache Amazon Images Locally

Caching product images locally can save your users several trips to the Amazon server and speed up your applications.

The easiest way to save an image locally is to visit the product detail page, right-click on the image, and choose “Save Picture As . . . “. Of course, “easy” is relative. If you have to do this for hundreds of products, suddenly it’s the hard way.

Luckily, every programming environment has methods for retrieving an image from a remote server and saving it as a local file.

The Code

Each of these examples takes an ASIN, builds the proper URL [Hack #5], grabs the image, and saves it locally as [ASIN].jpg.

Perl

This uses the getstore( ) function of LWP::Simple to request and save the file. $rp is the return code, and to shore this function up you could take additional action if it’s equal to 404.

use LWP::Simple;
$Asin = "0596004478";
$rp = getstore(
      "http://images.amazon.com/images/P/$Asin.01.MZZZZZZZ.jpg",[RETURN]
      "$Asin.jpg");
VBScript

Writing binary files like images isn’t quite as straightforward with VBScript, so you have to turn to some unusual components. The ServerXMLHTTP component makes the request, which is written to an ADODB stream. The ADODB component has the ability to write binary files.

strASIN = "0596004478" strURL = "http://images.amazon.com/images/P/" & strASIN & _ ".01.MZZZZZZZ.jpg" strFile = strASIN & ".jpg" 'Get the Image Set xmlhttp = CreateObject("Msxml2.SERVERXMLHTTP") xmlhttp.Open "GET", strURL, false xmlhttp.Send(Now) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

How to Develop a Great Digital Strategy

How to Develop a Great Digital Strategy

Jeanne W. Ross, Cynthia M. Beath, Ina M. Sebastian
What Successful Project Managers Do

What Successful Project Managers Do

W. Scott Cameron, Jeffrey S. Russell, Edward J. Hoffman, Alexander Laufer

Publisher Resources

ISBN: 0596005423Catalog PageErrata