class HallidayWineList::Scraper

Public Instance Methods

scrape_categories() click to toggle source
# File lib/halliday_wine_list/scraper.rb, line 3
def scrape_categories
  doc = Nokogiri::HTML(open("https://www.winecompanion.com.au/wines/james-hallidays-top-100-wines-of-2017"))
  doc.css("div.clearfix.bestofbest ul.listing-items h3.sub-title").each do |item|
    name = item.css("a").text
    @url = item.css("a").attr("href").value
    if name.include?("red") || name.include?("white")
      @current_category = HallidayWineList::Category.new_from_scraper(name, @url)
      scrape_wines
    end
  end
end
scrape_wines() click to toggle source
# File lib/halliday_wine_list/scraper.rb, line 15
def scrape_wines
  category_url = "https://www.winecompanion.com.au" + "#{@url}"
  doc = Nokogiri::HTML(open(category_url))
  doc.css("div.clearfix ul.listing-items div.info").each do |item|
    winery = item.css("p.winery").text
    variety = item.css("p.variety").text
    location = item.css("p.location").text
    category = @current_category
    HallidayWineList::Wine.new_from_scraper(winery, variety, location, category)
  end
end