Skip to content
Scrape audience reviews from Rotten Tomatoes πŸ…
TypeScript
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
serverless ♻️ Re-bootstrap project using tsdx Aug 28, 2019
src ♻️ Re-bootstrap project using tsdx Aug 28, 2019
test ♻️ Re-bootstrap project using tsdx Aug 28, 2019
.editorconfig ♻️ Re-bootstrap project using tsdx Aug 28, 2019
.gitignore
.prettierrc ♻️ Re-bootstrap project using tsdx Aug 28, 2019
LICENSE ♻️ Re-bootstrap project using tsdx Aug 28, 2019
README.md
now.json
package.json ✏️ Change version to v2.3.3 Aug 28, 2019
tsconfig.json ♻️ Re-bootstrap project using tsdx Aug 28, 2019
yarn.lock

README.md

rotten-reviews

Scrape audience reviews from Rotten Tomatoes πŸ…

NPM version NPM download count Join the community on Spectrum

Rotten GIF

Description

This package fetches Rotten Tomatoes audience reviews (movies and TV shows) by scraping pages using cheerio and got. This project was bootstrapped with TSDX.

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

    const { searchByQuery } = require('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

    const { scrapeReviews } = require('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.

Serverless deployment

Powered with ZEIT Now, we created a serverless 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

You can’t perform that action at this time.