Class: TopRecipes::Scraper

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

Class Method Summary collapse

Class Method Details

.scrape_additional_info(recipe) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/top_recipes/scraper.rb', line 19

def self.scrape_additional_info(recipe)
  raise error if !(recipe.is_a?(TopRecipes::Recipe))
  site = self.scrape_recipes_page(recipe.url)

  recipe.ingredients = site.css("div.span5 ul").text.strip.split("\n\t\t\t\t\n\t\t\t\t ")
  recipe.directions = site.css("div.span5 a")[1].attribute("href").value
end

.scrape_and_create_recipes_food2forkObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/top_recipes/scraper.rb', line 7

def self.scrape_and_create_recipes_food2fork
  self.scrape_recipes_page("http://food2fork.com/").css("div.img-polaroid").each do |r|
    name = r.css("span.recipe-name").text.strip
    recipe = TopRecipes::Recipe.new(name)
    recipe.rating = r.css("span.badge-important").text.strip
    recipe.url = "http://food2fork.com#{r.css("a.recipe-link").attribute("href").value.strip}"
    recipe.author = r.css("span.publisher").text.strip

    self.scrape_additional_info(recipe)
  end
end

.scrape_recipes_page(url) ⇒ Object



3
4
5
# File 'lib/top_recipes/scraper.rb', line 3

def self.scrape_recipes_page(url)
  Nokogiri::HTML(open(url))
end