Basically, I needed a simple tool to help me catalogue my home book catalogue of over 1,000 books without having to type them all in by hand (or copy and paste from Amazon or wherever). Fortunately, I found this freely available online database, ISBNdb.com, which has a remote access application programming interface (API) designed to allow other websites and standalone applications use the vast collection of data collected by ISBNdb.com since 2003. Currently, they have just under 3 million books in their database - which is very substantial and sufficient for my purposes. While I needed this information for cataloging my home library, you could obviously use it for other uses such as building and verifying bookstore inventories, creating your own bookstore, automated cross-merchant price lookups over messaging devices or phones, or whatever.
With this script, you simily enter a 10 or 13 digit ISBN number into the single form field and click submit. (with the barcode scanner I got, you just scan and a CR is automatically entered, so you don't have to type anything). The tool will retrieve and parse an XML file from the ISBNdb.com site, and print the results in a nicely formatted table, showing title, long title, authors, Dewey decimal number, LCC number, average new price, average used price, and estimated value (based on the condition of the book, which you can optionally enter as an A, B, C, D, or F "flag" prior to the ISBN number. In addition, the script will write the data to a text file, called "books.txt" in a very simple pipe "|" deliniated format.
That's pretty much it. You can easily configure it to your own uses, or use it to develop your own intereface to ISBNdb.com's API - which is really the meat of this tool.
Here's a screenshot. Sorry I don't have a working demo up and running:
The source code is available here. I've commented most of the sections, although if you have a question, feel free to contact me.
Good luck and have fun!
Is your CMS SEO-friendly? The following checklist will help you determine the capabilities of your...
TYPO3 would do well to learn from the growing success and core strenghs of Wordpress
If you're looking for a quality and affordable web hosting provider, look no further. Web Hosting...
how to get cover page image of book using PHP ISBN Lookup Tool
I am trying to develop a xcel data base of over 5000 different titles. Is there a program for sale that will automatically fill the cells when I do the scan?
the ISBN tool that I wrote will automatically generate a comma-separated row of metadata for each book. You can save this data as a CSV file (e.g., "books.csv") and open in MS Excel. I also had over 5,000 titles in my library which I was easily able to capture using this tool.
very cool stuff, indeed!
very cool stuff, indeed!
Going to use this on my textbook website to look up prices and such. Good work, now I just have to find out how to implement it.
Had problems with the code. Here is how i fixed it:
$url_details_ch = curl_init("http://isbndb.com/api/books.xml?access_key=$accessKey&results=details&index1=isbn&value1=$query");
curl_setopt($url_details_ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url_details_ch, CURLOPT_HEADER, 0);
$url_details_data = curl_exec($url_details_ch);
curl_close($url_details_ch);
$xml_details = new SimpleXmlElement($url_details_data, LIBXML_NOCDATA);
I am running php5 but having problems with the original script loading the file, that is,I am getting the "no file loaded" response.
I have not tried your curl script. Any suggestions? Were you having trouble getting the file loaded.
it sounds like a problem with the simplexml_load_file() function. check to see if simplexml is enabled in phpinfo(). if yes, then it's probably a problem with your api url. check to make sure you can access it directly (i.e., isbndb.com/api/books.xml)
Thanks for the quick reply.
I checked the php.ini and don't see a reference to simplexml_load_file()
The tech support folks sez it is enabled.
Can you paste the php.ini entry from your server? That may help.
The link seems to work ok. I've got an access key and it works well with the url in my browser.
Thanks for the assistance.
Hi David,
There's not a reference to simplexml in php.ini because it's enabled by default in php5. I was earlier referring to phpinfo(). To check server settings, create this file, and save as phpinfo.php:
<?php
phpinfo();
?>
And save it at the root of your server.
Then look for simplexml.
John
Had problems with it on our website. I changed it to use cURL.
Here is the example:
$url_details_ch = curl_init("http://isbndb.com/api/books.xml?access_key=$accessKey&results=details&index1=isbn&value1=$query");
curl_setopt($url_details_ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url_details_ch, CURLOPT_HEADER, 0);
$url_details_data = curl_exec($url_details_ch);
curl_close($url_details_ch);
$xml_details = new SimpleXmlElement($url_details_data, LIBXML_NOCDATA);
Works perfectly now!!
Hey, hope you don't mind me posting this but I've used this as the core of a software I wrote.
It's intended for libraries. You can find it here:
blog.ryangannon.com/category/php-personal-book-library-database/
Lots of thanks,
Ryan.
No problem, Ryan. Glad you found it useful!
John
Buy Cialis Online
Buy Propecia
Buy Zithromax
Buy Acomplia
Buy Cipro
Buy Diflucan
Buy Ultram
Hey, your tool is very helpful, but I can't get it to work quite right.
I have the script up and supposedly working, but when i enter the [condition]&[isbn] all i get is a blank response page.
can you please help me with this??
I am a novice to PHP but have a large project in it so I'm trying to catch up.
everything looks to be in place.
It is the exact file that is on this website.
Thank you very much and Happy Holidays
-Ashton
Hey, your tool is very helpful, but I can't get it to work quite right.
I have the script up and supposedly working, but when i enter the [condition]&[isbn] all i get is a blank response page.
can you please help me with this??
I am a novice to PHP but have a large project in it so I'm trying to catch up.
everything looks to be in place.
It is the exact file that is on this website.
Thank you very much and Happy Holidays
-Ashton
Hi Ashton, can you confirm that you are using PHP5 and have an API key?
Hey, Thank you for the reply
I do have an API Key ad have used it in basic URL queries.
However, I am running PHP 4.4.7
I will go about upgrading. Is this where the problem is??
thanks
Yes, Ashton, because the simplexml_loadfile() function is not available in PHP 4.x
I have changed the extension from .php to .php5 and now it works correctly.
But when i enter the ino as [x][123456789] it does not work properly. i just have to enter the isbn alone and it works correctly
This is a great tool for Booksellers on the web with excellent visibility. Highly reccommend it..