Class: HallidayWineList::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/halliday_wine_list/scraper.rb

Instance Method Summary collapse

Instance Method Details

#scrape_categoriesObject



3
4
5
6
7
8
9
10
11
12
13
# 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_winesObject



15
16
17
18
19
20
21
22
23
24
25
# 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