module Scrapers::AllRecipes
Public Class Methods
scrape(url)
click to toggle source
# File lib/scrapers/allrecipes.rb, line 8 def self.scrape(url) results = Hash.new Scrapers.agent.get(url).tap do |page| results[:url] = page.uri.to_s results[:title] = page.title.strip results[:ingredients] = scrape_ingredients(page) results[:directions] = scrape_directions(page) results[:photo] = scrape_photo(page) end results end
scrape_directions(page)
click to toggle source
# File lib/scrapers/allrecipes.rb, line 33 def self.scrape_directions(page) page. search("div.directLeft").first. search("li"). map do |i| i.text.gsub(/[[:space:]]+/,' ').sub(/^/,'# ') end end
scrape_ingredients(page)
click to toggle source
# File lib/scrapers/allrecipes.rb, line 24 def self.scrape_ingredients(page) page. search("ul.ingredient-wrap"). search(".//li"). map do |i| i.text.gsub(/[[:space:]]+/,' ').sub(/^/,'*') end end
scrape_photo(page)
click to toggle source
# File lib/scrapers/allrecipes.rb, line 42 def self.scrape_photo(page) photo = page.search("img#imgPhoto").first Hash[photo.attributes.map{|k,v| [k,v.value]}] end