R Package to access the Open Movie Database (OMDB) API
[This article was first published on rud.is » R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
It’s not on CRAN yet, but there’s a devtools-installable R package for getting data from the OMDB API.
It covers all of the public API endpoints:
find_by_id: Retrieve OMDB info by IMDB ID searchfind_by_title: Retrieve OMDB info by title searchget_actors: Get actors from an omdb object as a vectorget_countries: Get countries from an omdb object as a vectorget_directors: Get directors from an omdb object as a vectorget_genres: Get genres from an omdb object as a vectorget_writers: Get writers from an omdb object as a vectorprint.omdb: Print an omdb resultsearch_by_title: Lightweight omdb title search
Here’s a bit of it in action:
devtools::install_github("hrbrmstr/omdbapi")
library(dplyr)
library(pbapply)
search_by_title("Captain America")
# Source: local data frame [10 x 4]
#
# Title Year imdbID Type
# 1 Captain America: The First Avenger 2011 tt0458339 movie
# 2 Captain America: The Winter Soldier 2014 tt1843866 movie
# 3 Captain America 1990 tt0103923 movie
# 4 Captain America 1979 tt0078937 movie
# 5 Iron Man and Captain America: Heroes United 2014 tt3911200 movie
# 6 Captain America II: Death Too Soon 1979 tt0078938 movie
# 7 Captain America 1944 tt0036697 movie
# 8 Captain America 1966– tt0206474 series
# 9 Captain America: Super Soldier 2011 tt1740721 game
# 10 Comic Book Origins: Captain America - Winter Soldier 2014 tt3618126 movie
search_by_title("Captain America", year_of_release=2013)
# Source: local data frame [1 x 4]
#
# Title Year imdbID Type
# 1 A Look Back at 'Captain America' 2013 tt3307378 movie
games <- search_by_title("Captain America", type="game")
glimpse(games)
# Observations: 2
# Variables:
# $ Title (chr) "Captain America: Super Soldier", "Captain America and the A...
# $ Year (chr) "2011", "1991"
# $ imdbID (chr) "tt1740721", "tt0421939"
# $ Type (chr) "game", "game"
find_by_title(games$Title[1])
# Title: Captain America: Super Soldier
# Year: 2011
# Rated: N/A
# Released: 2011-07-19
# Runtime: N/A
# Genre: Action
# Director: Michael McCormick, Robert Taylor
# Writer: Christos N. Gage
# Actors: Hayley Atwell, Chris Evans, Sebastian Stan, Neal McDonough
# Plot: You play the Sentinel of Liberty as you raid the Red Skull's scientist
# minion, Armin Zola's, lair.
# Language: English
# Country: USA
# Awards: N/A
# Poster: http://ia.media-imdb.com/images/M/
# MV5BMTUwMzQ0NjE5N15BMl5BanBnXkFtZTgwODI3MzQxMTE@._V1_SX300.jpg
# Metascore: N/A
# imdbRating: 7.2
# imdbVotes: 271
# imdbID: tt1740721
# Type: game
find_by_title("Game of Thrones", type="series", season=1, episode=1)
# Title: Winter Is Coming
# Year: 2011
# Rated: TV-MA
# Released: 2011-04-17
# Runtime: 62 min
# Genre: Adventure, Drama, Fantasy
# Director: Timothy Van Patten
# Writer: David Benioff (created by), D.B. Weiss (created by), George R.R.
# Martin ("A Song of Ice and Fire" by), David Benioff, D.B.
# Weiss
# Actors: Sean Bean, Mark Addy, Nikolaj Coster-Waldau, Michelle Fairley
# Plot: Jon Arryn, the Hand of the King, is dead. King Robert Baratheon plans
# to ask his oldest friend, Eddard Stark, to take Jon's
# place. Across the sea, Viserys Targaryen plans to wed his
# sister to a nomadic warlord in exchange for an army.
# Language: English
# Country: USA
# Awards: N/A
# Poster: http://ia.media-imdb.com/images/M/
# MV5BMTk5MDU3OTkzMF5BMl5BanBnXkFtZTcwOTc0ODg5NA@@._V1_SX300.jpg
# Metascore: N/A
# imdbRating: 8.5
# imdbVotes: 12584
# imdbID: tt1480055
# Type: episode
get_genres(find_by_title("Star Trek: Deep Space Nine", season=5, episode=7))
# [1] "Action" "Adventure" "Drama"
get_writers(find_by_title("Star Trek: Deep Space Nine", season=4, episode=6))
# [1] "Gene Roddenberry (based upon "Star Trek" created by)"
# [2] "Rick Berman (created by)"
# [3] "Michael Piller (created by)"
# [4] "David Mack"
# [5] "John J. Ordover"
get_directors(find_by_id("tt1371111"))
# [1] "Tom Tykwer" "Andy Wachowski" "Lana Wachowski"
get_countries(find_by_title("The Blind Swordsman: Zatoichi"))
# [1] "Japan"
ichi <- search_by_title("Zatoichi")
bind_rows(lapply(ichi$imdbID, function(x) {
find_by_id(x, include_tomatoes = TRUE)
})) -> zato
par(mfrow=c(3,1))
boxplot(zato$tomatoUserMeter, horizontal=TRUE, main="Tomato User Meter", ylim=c(0, 100))
boxplot(zato$imdbRating, horizontal=TRUE, main="IMDB Rating", ylim=c(0, 10))
boxplot(zato$tomatoUserRating, horizontal=TRUE, main="Tomato User Rating", ylim=c(0, 5)) |
You can find out more at it’s github repo
To leave a comment for the author, please follow the link and comment on their blog: rud.is » R.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
