/projection

Cinema - Fast scraper for movie showtimes around the globe

Primary LanguageJavaScriptMIT LicenseMIT

Projection

Movie showtimes around the globe.

Build Status Coverage Status

NPM

Installation

npm install projection --save

Example

var projection = require('projection');
var p = projection();

p.findTheaters('Montreal', {}, function(err, theaters) {
  console.log(theaters);
});

p.findMovie('Montreal', 'Mad Max', {}, function(err, movie) {
  console.log(movie);
});

How to use

projection.findTheaters(near, options, callback);

  • near - Either a city or a lat/long. ex.: 'Montreal' or '45.3838,-71.8958'
  • options
    • lang - Select langage (default = 'en')
    • date - Select date (0, 1, 2, etc.) (default = 0 ie. today)
  • callback - Function using the results

Returns an array of theaters (and their showtimes) following this structure:

{  
  name: 'Cineplex Odeon Forum Cinemas',
  address: '2313 Sainte-Catherine Street West, Montreal, QC, Canada',
  phone: '(514) 904-1274',
  note: '',
  movies: [  
    {  
      title: 'Insurgent 3D',
      duration: '1hr 59min',
      rating: 'Rated G',
      genre: 'Action/Adventure/Romance',
      trailer: 'http://www.youtube.com/watch...',
      showtimes:[ '18:00', '20:15' ]
    },
    // Other movies in this theater...
  ]
}

projection.findMovie(near, movie, options, callback);

  • near - Either a city or a lat/long. ex.: 'Montreal' or '45.3838,-71.8958'
  • movie - A movie name. ex.: 'Mad Max'
  • options
    • lang - Select langage (default = 'en')
    • date - Select date (0, 1, 2, etc.) (default = 0 ie. today)
  • callback - Function using the results

Returns the movie and its showtimes in the nearest theaters following this structure:

{  
  title: 'Mad Max: Fury Road',
  desc: 'Haunted by his turbulent past, Mad Max believes[...]',
  director: 'George Miller',
  cast: [ 'Charlize Theron', 'Tom Hardy' ],
  duration: '2hr 0min',
  rating: 'Rated 13+',
  genre: 'Action/Adventure/Scifi/Fantasy',
  trailer: 'http://www.youtube.com/watch[...]',
  theaters: [  
    {  
      name: 'Scotiabank Theatre Montreal',
      address: '977 rue Sainte-Catherine Ouest, Montreal, QC, Canada',
      showtimes: [ '19:50', '22:15' ]
    },
    // Other theaters with this movie...
  ]
}

Features

  • Multi-lang support
  • Caching of repeated calls
  • More to come...

Wanna help?

Any contribution is welcomed!