class IndoorJungle::Scraper
Scraper.scrape_site
('www.plants.com/c/all-plants') Scraper.scrape_plant
('www.plants.com/p/snake-plant-157646?c=all-plants')
Public Class Methods
scrape_plant(plant_url)
click to toggle source
here lies my mess
# File lib/indoor_jungle/scraper.rb, line 19 def self.scrape_plant(plant_url) page = Nokogiri::HTML(URI.open(plant_url)) plant = {} element = page.css('div.product-layout-') plant[:sunlight] = element.css('p.condition-text.mb-0').first.text, plant[:water] = element.css('div.image-card p')[1].text, plant[:temperature] = element.css('div.image-card p')[2].text.delete("\u00B0F") plant #currently this whole hash is being applied to sunlight end
scrape_site(site)
click to toggle source
# File lib/indoor_jungle/scraper.rb, line 5 def self.scrape_site(site) page = Nokogiri::HTML(URI.open(site)) plants_lumped = [] page.css('div.ProductList_productItem__HxDc2').each do |plants| plants_lumped << { :name => plants.css('div.col-12').text, :price_range => plants.css("a span").children[1].text, :plant_url => "https://www.plants.com" + (plants.css("a")[0].attributes["href"].value) } end plants_lumped end