npm

Join us for the "JavaScript Supply Chain Security" tech talk, presented by VP of Security, Adam Baldwin. 6/20 at 10am PT.Sign up here ¬Ľ

rotten-reviews

2.3.1¬†‚Äʬ†Public¬†‚Äʬ†Published

rotten-reviews

Scrape audience reviews from Rotten Tomatoes ūüćÖ

NPM version NPM download count Greenkeeper badge Join the community on Spectrum

Rotten GIF

Description

This Node.js package fetches Rotten Tomatoes audience reviews (movies and TV shows) by scraping pages using cheerio and node-fetch. Notable features such as:

  • Search movie or TV show titles
  • Fetch whole audience reviews or by defined value
  • Compiled from Typescript to CommonJS and ES modules
  • Typescript declaration file available

Note that this package doesn't use official packages or API endpoints provided by RT.

Usage

Adding to your project

  • Using npm

    npm install rotten-reviews
  • Using yarn

    yarn add rotten-reviews

Search titles using searchByQuery

  • Script

    // using require (commonjs)
    const { searchByQuery } = require('rotten-reviews')
     
    // using import (es module)
    import { searchByQuery } from 'rotten-reviews'
     
    searchByQuery('venom').then(results => {
      console.log(JSON.stringify(results, null, 2))
    })
  • Output (truncated, fetched on December 20, 2018)

    [
      {
        "title": "Venom",
        "year": 2018,
        "type": "m",
        "slug": "m/venom_2018"
      },
      {
        "title": "Venom",
        "year": 2016,
        "type": "m",
        "slug": "m/venom"
      },
      ...
    ]

Fetch reviews using scrapeReviews

  • Script

    // using require (commonjs)
    const { scrapeReviews } = require('rotten-reviews')
     
    // using import (es module)
    import { scrapeReviews } from 'rotten-reviews'
     
    scrapeReviews('m/venom_2018').then(results => {
      console.log(JSON.stringify(results, null, 2))
    })
  • Output (truncated, fetched on December 20, 2018)

    [
      {
        "reviewer": "Cory L",
        "date": "December 19, 2018",
        "stars": 4,
        "review": "After watching the movie I gotta say it was good. It doesn't need spider Man though I would love to see that interaction. I am looking forward to seeing a sequel."
      },
      {
        "reviewer": "Shawn R",
        "date": "December 19, 2018",
        "stars": 4,
        "review": "Critics be damned, I liked it. Lots of action, and it doesn't take itself too seriously. Venom was given a bit of personality rather than being a glorified sticky suit."
      },
      ...
    ]

CLI usage

Starting from version 2, rotten-reviews does not include any runnables. Instead, we made rotten-reviews-cli which is a CLI wrapper for rotten-reviews.

Lambda Deployment

Powered with Zeit Now, we created a lambda deployment that you can consume to search and scrape on rotten-lambda.now.sh using these queries:

  • q to search titles (e.g. spider verse)
  • s to scrape reviews using title slugs obtained from search (e.g. m/venom_2018)
  • c to define how many to scrape (works only with s)

Example queries:

You can view the source code for the deployment on the demo directory or on the deployment source page.

API

Haven't done this part. Do submit a pull request if you want to contribute.

Related

License

MIT

install

npm i rotten-reviews

Downloadsweekly downloads

17

version

2.3.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability