
Can I keep track of my Amazon book rank with a script?
Dave, do you happen to have a script that will pull Amazon.com hourly
sales rank data for 1 - N ASINs and save into either a CSV file or a
database?
This isn't too hard to create, because Amazon has nicely formed URLs which make identifying a specific page easy, and has well-formed HTML that makes it easy to pull out the specific information. Let's have a look... My book Wicked Cool Shell Scripts has an ASIN (Amazon Stock Identification Number) of 1593270127. Based on that, we can create a URL that has the ASIN embedded within to obtain the page that has information on that particular book: http://www.amazon.com/exec/obidos/ tg/detail/-/asin/ref=nosimClick on this link and you'll see, if you add the properly formatted ASIN it takes you to the information page. That's half the work, right? Now the other half is to figure out how to extract the Amazon Ranking value, and that's surprisingly easy to do: lynx -dump "$target" | grep -i "Amazon.com Sales Rank"Where "target" is the URL shown earlier, with the appropriate ASIN. I run this snippet and here's what I see: * Amazon.com Sales Rank in [69]Books: #51,988That's what we want, so all we have to do is cut everything out but the numeric value, and that's easily done by noting that there's a "#" prefacing the value and using cut to split the line at that point. Here's the full sequence to extract one ranking for one ASIN: #!/bin/sh asin=1593270127 target="http://www.amazon.com/exec/obidos/tg/detail/-/$asin/ref=nosim" lynx -dump "$target" | grep -i "Amazon.com Sales Rank" | \ cut -d# -f2Run this, and you'll get the current sales rank. To turn this into a script that loops through a file of ASINs should be straightforward, and to then save the output into a database or, say, comma separated values (CSV) file should be similarly easy. I hope that gets you on the right track!
Help others find this article at Del.icio.us, Digg, Netscape, Reddit, and Simpy.
Categorized:
Shell Script Programming
, The Writing Business
(Article 3785)
Tagged: Previous: How can I use Javascript and CSS to display the date? Next: Can I fight a magazine publisher withholding payment for my article? Subscribe!
Never miss another useful Q&A article again! Subscribe to AskDaveTaylor with Google Reader. Even better, there's already a website that does this: www.rankforest.com. It tracks thousands of amazon sales ranks for products by the hour and lets you see pretty graphs and charts too. Posted by: Brian Culler at June 5, 2006 9:50 AMI would actually recommend that you use Amazon Web Services. It will allow you to retrieve an XML file with the information you want such as sales rank. This is quicker and you don't have to worry about Amazon changing the format of the page text so that this script would not longer work ... Posted by: Andrew Krause at October 29, 2007 1:26 PMI have a lot to say, but ...
I do have a comment, now that you mention it!
|
Search
Find just the answers you seek from among our 1700+ free tech support articles by using our Lijit search engine.
Help!
Subscribe to
Ask Dave Taylor!
Free Updates!
Sign up and get free weekly updates and special offers on books, seminars, workshops and more.
Articles and Reviews
Auctions and Online Shopping Blogs and RSS Feeds Building Web site traffic Business and Management Cell Phones and Mobile Phones CGI Scripts and Web Site Programming Computer and Internet Basics d) None of the Above HTML and CSS Mac OS X Help MySpace, Facebook, Twitter and Social Network Help Pay Per Click (PPC) Search Engine Optimization Shell Script Programming Sony PSP, MP3 Players, Etc. The Writing Business Unix and Linux Help Video Game Tips and Help Windows Help
Recent Entries
Join the List!
Book Links
|