FilmAffinity Scraper Gem
Description
The filmaffinity gem allows you to easily access publicly available data from Filmaffinity.com in english and spanish.
It is also available as RESTful API at heroku.
Features
- Search movies by title
- Retrieve complete movie info
- Retrieve the Top N of filmaffinity.com
- Retrieve the Top N with the given options
Installation
Add this line to your application's Gemfile:
gem 'filmaffinity'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install filmaffinity
Documentation
FilmAffinity configuration
FilmAffinity offers some configuration options, which you can configure globally before your requests. You could include an imgur_id
to upload the posters on Imgur and avoid forbidden hotlinking from filmaffinity. You can also change the language
,which is english by default.
FilmAffinity.configure do |config|
config.imgur_id = 'Your-imgur-client-id'
config.language = 'ES'
end
FilmAffinity::Search
Returns an array of FilmAffinity::Movie, containing preload ID and title.
FilmAffinity::Movie
Includes some methods to retrieve the complete movie info.
FilmAffinity::Top options
The options hash accepts several parameters:
{
:genre => 'AC',
:country => 'DE',
:from_year => 2014,
:to_year => 2016,
:no_doc => true,
:no_tv => true
}
:genre
- 'AC' Action
- 'AV' Adventure
- 'AN' Animation
- 'CO' Comedy
- 'DO' Documentary
- 'DR' Drama
- 'FAN' Fantasy
- 'F-N' Film-Noir
- 'TE' Horror
- 'INF' Kids
- 'MU' Musical
- 'INT' Mystery
- 'RO' Romance
- 'C-F' Sci-Fi
- 'TH' Thriller
- 'TV_SE' TV Series
- 'DESC' Unknown
- 'BE' War
- 'WE' Western
:country
2-letter code supplied by the ISO
:no_doc
true
to avoid documentaries
:no_tv
true
to avoid TV series
Examples
Top:
#Top FilmAffinity ever
top = FilmAffinity::Top.new
top.movies
#=> [<FilmAffinity::Movie>
<FilmAffinity::Movie>
<FilmAffinity::Movie>
...]
top.movies.first
#=> #<FilmAffinity::Movie>
#Top FilmAffinity with options and number of results
options = {
:genre => 'AN',
:no_tv => true
}
top = FilmAffinity::Top.new options, 20
top.movies
#=> [<FilmAffinity::Movie>
<FilmAffinity::Movie>
<FilmAffinity::Movie>
...]
top.movies.first
#=> #<FilmAffinity::Movie>
Search:
search = FilmAffinity::Search.new('Padrino')
search.movies
#=> [<FilmAffinity::Movie>
<FilmAffinity::Movie>
<FilmAffinity::Movie>
...]
search.movies.first
#=> #<FilmAffinity::Movie>
Movie:
movie = FilmAffinity::Movie.new(809297, 'El Padrino')
movie.director
#=> 'Francis Ford Coppola'
movie.year
#=> 1972
movie.rating
#=> 9.1
movie.cast
#=> ['Marlon Brando',
'Al Pacino',
'James Caan',
'Robert Duvall',
'Diane Keaton',
...]
Contributors
This gem is created and maintained by Oriol Bellido and David Santos