raineorshine / bookcovers

A federated search API for finding image thumbnails for book covers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bookcovers

A federated search API for finding image thumbnails for book covers.

Performs a combined search of Amazon, Google Books and Open Library to find thumbnails corresponding to isbn numbers.

bookcovers is node library and cli tool. It currently does not work in browser environments.

Install

npm i -g bookcovers;

Example Usage

As a library within a node application:

const bookcovers = require("bookcovers");

bookcovers
  .withIsbn("9781570273148")
  .then(results => ...);

With scrapping options:

const bookcovers = require("bookcovers");

const options = {
  amazon: { /* options for puppeter.launch(options) */ },
  google: { /* options for request(url, options) */ },
  openLibrary: { /* options for request(url, options) */ },
  type: 'amazon|google|openLibrary' /* for doing request to single provider */
}

bookcovers
  .withIsbn("9781570273148", options)
  .then(results => ...);

As a cli:

bookcovers <isbn>;
# logs out book cover data in the form "<source> <size> <url>"

Specify which service to use:

bookcovers <isbn> --type amazon;
# only searches Amazon

API

bookcovers.withIsbn(isbn: string, options?: { ... });

Returns a promise that resolves to an object containing urls from each of the sources.

{
  amazon: {
    '1x': 'https://m.media-amazon.com/images/I/51z2HY7kn4L._AC_UY218_ML3_.jpg',
    '1.5x': 'https://m.media-amazon.com/images/I/51z2HY7kn4L._AC_UY327_FMwebp_QL65_.jpg',
    '2x': 'https://m.media-amazon.com/images/I/51z2HY7kn4L._AC_UY436_FMwebp_QL65_.jpg',
    '2.2935x':'https://m.media-amazon.com/images/I/51z2HY7kn4L._AC_UY500_FMwebp_QL65_.jpg'
  },
  google: {
    smallThumbnail: 'http://books.google.com/books/content?id=wDVV6y-8YHEC&printsec=frontcover&img=1&zoom=5&source=gbs_api',
    thumbnail: 'http://books.google.com/books/content?id=wDVV6y-8YHEC&printsec=frontcover&img=1&zoom=1&source=gbs_api'
  },
  openLibrary: {
    small: 'http://ia801606.us.archive.org/zipview.php?zip=/26/items/olcovers36/olcovers36-S.zip&file=369091-S.jpg',
    medium: 'http://ia801606.us.archive.org/zipview.php?zip=/26/items/olcovers36/olcovers36-M.zip&file=369091-M.jpg',
    large: 'http://ia801606.us.archive.org/zipview.php?zip=/26/items/olcovers36/olcovers36-L.zip&file=369091-L.jpg'
  }
}

Options

  • type - Specify a service: 'amazon' | 'google' | 'openLibrary'. Default: null (all).
  • amazon - Specify options for puppeteer scrapper of amazon
  • google - Specify options for request scrapper of google
  • openLibrary - Specify options for request scrapper of openLibrary

About

A federated search API for finding image thumbnails for book covers.


Languages

Language:JavaScript 82.6%Language:Shell 17.4%