Class: BestSellingBooks::Amazon::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/best_selling_books/site_scrapers/amazon.rb

Class Method Summary collapse

Class Method Details

.get_book_listObject



16
17
18
# File 'lib/best_selling_books/site_scrapers/amazon.rb', line 16

def self.get_book_list
  Nokogiri::HTML(open("https://www.amazon.com/gp/bestsellers/#{Time.now.year}/books"))
end

.scrape_book_listObject



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/best_selling_books/site_scrapers/amazon.rb', line 20

def self.scrape_book_list
  homepage = "https://www.amazon.com"
  get_book_list.css('div.zg_itemImmersion').collect do |book_listing|
    {Rank: book_listing.css('span.zg_rankNumber').text.strip.chop,
    Title: book_listing.css('div.p13n-sc-truncated-hyphen').text.strip,
    Author: book_listing.css('a.a-size-small.a-link-child').text.strip,
    Author_Bio: homepage + book_listing.css('a.a-size-small.a-link-child').attr('href').value.strip,
    Price: book_listing.css('span.p13n-sc-price').text.strip,
    Format: book_listing.css('span.a-size-small.a-color-secondary').text.strip,
    Rating: book_listing.css('i.a-icon-star').text.strip,
    Link: homepage + book_listing.css('a.a-link-normal').attr('href').value.strip}
  end
end