Skip to main content

Scrapes Rotten Tomatoes's website for basic information on movies.

Project description

Rotten Tomatoes in Python

This package allows you to easily fetch Rotten Tomatoes scores and other movie data such as genres, without the use of the official Rotten Tomatoes API. The package scrapes their website for the data. I built this because unfortunately, to get access to their API, you have to submit a special request which takes an inordinate amount of time to process, or doesn't go through at all.

Usage

You can either call the standalone functions tomatometer, audience_score, genres, etc., or use the Movie class to only pass the name and have each attribute be fetched automatically. If you use the Movie class, you can print all attributes by printing the object itself, or by accessing each attribute individually.

The weighted score is calculated using the formula $\frac{2}{3}(tomatometer) + \frac{1}{3}(audience)$. The result is then rounded to the nearest integer.

Basic usage examples:

import rottentomatoes_python as rt

print(rt.tomatometer("happy gilmore"))
# Output: 61
# Type: int

print(rt.audience_score('top gun maverick'))
# Output: 99
# Type: int

print(rt.rating('everything everywhere all at once'))
# Output: R
# Type: str

print(rt.genres('top gun'))
# Output: ['Action', 'Adventure']
# Type: list[str]

print(rt.weighted_score('happy gilmore'))
# Output: 69
# Type: int

print(rt.year_released('happy gilmore'))
# Output: 1996
# Type: str

# --- Using the Movie class ---
movie = rt.Movie('top gun')
print(movie)
# Output
    # Top Gun, PG, 1h 49m.
    # Released in 1986.
    # Tomatometer: 58
    # Weighted score: 66
    # Audience Score: 83
    # Genres - ['Action', 'Adventure']
# Type: str

print(movie.weighted_score)
# Output: 66
# Type: int

Exceptions

If you're using this package within a larger program, it's useful to know what exceptions are raised (and when) so they can be caught and handled.

LookupError

When any call is made to scrape the Rotten Tomatoes website (Tomatometer, Audience Score, Genres, etc.), if a proper movie page wasn't returned (can be due to a typo in name entry, duplicate movie names, etc.), a LookupError is raised, printing the attempted query url.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rottentomatoes-python-0.2.4.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

rottentomatoes_python-0.2.4-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file rottentomatoes-python-0.2.4.tar.gz.

File metadata

  • Download URL: rottentomatoes-python-0.2.4.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for rottentomatoes-python-0.2.4.tar.gz
Algorithm Hash digest
SHA256 8ae8acf5be70755e4cb0910c0e7296eae954a4fabfe3dc40068c387a175585b2
MD5 27f5d82e50cfa865c5f709ed20fd11dc
BLAKE2b-256 9b9c8d14f6d4ef196134621a7c8efedd85c1ede069a434ea2856355b7934f584

See more details on using hashes here.

File details

Details for the file rottentomatoes_python-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: rottentomatoes_python-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for rottentomatoes_python-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 850bd6bcdb69eb4723a4c99672f3c4305158a239e0e7662f35f04aaba17199f4
MD5 566dce3e97f0c063d7efe20f364fe46a
BLAKE2b-256 a057cf149ab885e7bc497bbc4592b6044fbffb0456738facac1cdb968936221a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page