class Top10BoxOffice::Scraper

Public Instance Methods

get_movie_details(url) click to toggle source
# File lib/top_10_box_office/scraper.rb, line 22
def get_movie_details(url)
  doc = get_page(url)

  {
    imdb_rating: doc.css('span[itemprop=ratingValue]').text + "/10",
    actors: doc.css('span[itemprop=actors]').collect { |actor| actor.css('a').text }.join(", "),
    director: doc.css('span[itemprop=director] a').text,
    genre: doc.css('div[itemprop=genre] a').collect { |genre| genre.text.strip }.join(", "),
    content_rating: doc.css('span[itemprop=contentRating]').text,
    runtime: doc.css('time[itemprop=duration]')[1].text,
    summary: doc.css('div.summary_text').text.strip
  }
end
get_movies() click to toggle source
# File lib/top_10_box_office/scraper.rb, line 7
def get_movies
  doc = get_page('/chart/boxoffice')
  Top10BoxOffice::Movie.set_date(doc.css('div#boxoffice h4').text)

  doc.css('table.chart tbody tr').each do |movie|
    Top10BoxOffice::Movie.new({
      title: movie.css('td.titleColumn a').text,
      url:  movie.css('td.titleColumn a').attribute('href').value,
      weekend_total: movie.css('td.ratingColumn')[0].text.strip,
      gross: movie.css('span.secondaryInfo').text,
      weeks: movie.css('td.weeksColumn').text 
    })
  end
end
get_page(url) click to toggle source
# File lib/top_10_box_office/scraper.rb, line 3
def get_page(url)
  Nokogiri::HTML(open('http://www.imdb.com' + url))
end