class GDNewsScraper::Scrapers::PolygonCOM::Reviews
Attributes
articles[RW]
page[RW]
Public Class Methods
new(offset = 1)
click to toggle source
# File lib/GDNewsScraper/scrapers/polygon_com/reviews.rb, line 8 def initialize(offset = 1) headers = { "User-Agent" => "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" } uri = "https://www.polygon.com/games/reviewed/#{offset}" @page ||= Nokogiri::HTML(HTTParty.get(uri, headers: headers)) @articles = Hash.new pagination = container.css('.pagination').children[3].children.text.split articles[:stream_size] = pagination.last.to_i articles[:offset] = pagination[3].to_i articles[:total] = get_all_reviews.size articles[:feed] = Hash.new articles[:feed][:source] = 'polygon' articles[:feed][:label] = 'Polygon' articles[:stream] = get_all_reviews end
Public Instance Methods
get_all_reviews()
click to toggle source
# File lib/GDNewsScraper/scrapers/polygon_com/reviews.rb, line 28 def get_all_reviews reviews = Hash.new page.css('.m-game--index__list').children.each do |review| if review.element? body = review.children content = body.css('.body').children[3].text review_id = body.css('.body').children[1].children[1].attribute('href').text.split('/').last.to_i review[review_id][:id] = review_id review[review_id][:hash] = Base64.encode64(body.css('.body').children[1].children[1].text) review[review_id][:url] = body.css('.body').children[1].children[3].attribute('href').value review[review_id][:title] = body.css('.body').children[1].children[1].text.strip review[review_id][:content] = content.empty? ? nil : content review[review_id][:score] = body.css('.score').text.strip.to_f review[review_id][:date] = body.css('.meta').children[1].css('li').last.children.last.text end end return reviews end
Private Instance Methods
container()
click to toggle source
# File lib/GDNewsScraper/scrapers/polygon_com/reviews.rb, line 53 def container page.css('.m-game--index__list-wrapper') end