[ Team LiB ] |
Hack 53 Scope Out the Marketplace CompetitionA little market research into what used items are currently selling for will help you price your items before listing them. When you're going through the process of listing an item for sale in the Marketplace [Hack #49], Amazon provides a recommended price based on the condition you set for your item. If you'd like to see how your competition is pricing the item, though, you can click through the listings and get a feel for the average price. Why not scrape the listings from the site and calculate the actual average price? And why not throw in the highest and lowest price while you're at it? Armed with this information, you can make an informed decision about how to price your item. 53.1 The CodeCreate a file called used_report.pl containing the following code: #!/usr/bin/perl # used_report.pl # A script to scrape Amazon, retrieve used listings, and write to a file # Usage: perl used_report.pl <asin> #Take the asin from the command-line my $asin =shift @ARGV or die "Usage:perl used_report.pl <asin>\n"; use strict; use LWP::Simple; #Assemble the URL my $url = 'http://www.amazon.com/exec/obidos/tg/stores/offering/list'. '/-/' . $asin . '/used/'; #Request the URL my $content = get($url); die "Could not retrieve $url" unless $content; #Set up some variables my $i = 0; my $totalprices = 0; my $thisPrice = 0; my $highPrice = 0; my $lowPrice = 0; #Loop through listings while ($content =~ m!<b class=price>\$(.*?)</b>!mgis) { $i++; $thisPrice = $1; if ($thisPrice >= $lastPrice) { $highPrice = $thisPrice; } if ($i == 1 || $thisPrice <= $lowPrice) { $lowPrice = $thisPrice; } $totalprices += $thisPrice; } $avgPrice = $totalprices / $i; #Show the results print <<"EOF"; Average Used Price: \$$avgPrice Highest Price: \$$highPrice Lowest Price: \$$lowPrice EOF 53.2 Running the HackThis script runs from the command line and is passed an ASIN: perl used_report.pl asin You should receive a simple three-line report listing the average, highest, and lowest prices for the book: Average Used Price: $19.54 Highest Price: $20.82 Lowest Price: $18.70 |
[ Team LiB ] |