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