class Scraper

Attributes

food_network_url[R]
url_begin[RW]
url_end[RW]
url_middle[RW]

Public Class Methods

ingredients() click to toggle source
# File lib/food_ideas/scraper.rb, line 39
def self.ingredients
  CLI.ingredients
end

Public Instance Methods

scrape_food_network() click to toggle source

www.foodnetwork.com/search/search-results.recipes.html?searchTerm=garlic+cilantro+ground+waffles&form=global&charset=UTF-8

# File lib/food_ideas/scraper.rb, line 11
def scrape_food_network
  @url_begin = "http://www.foodnetwork.com/search/search-results.recipes.html?searchTerm="
  @url_end = "&form=global&_charset_=UTF-8"
  doc = Nokogiri::HTML(open(url_full))
  doc.css("article.recipe").each do |r|
    recipe = Recipe.new
    recipe.name = r.css("h6").text.strip
    recipe.time = r.css("dd").text
    recipe.url = food_network_url+r.css("h6 a").attr("href").value
    recipe_doc = Nokogiri::HTML(open(recipe.url))
    recipe.description = recipe_doc.css("p.quotation").text.strip.delete "[]"
    if recipe.description.empty?
      recipe.description = "Sorry, no description available."
    end
    # recipe.name = doc.css("article.recipe").first.css("h6").text.strip
    # recipe.time = doc.css("article.recipe").first.css("dd").text
    # recipe.url = food_network_url+doc.css("article.recipe").first.css("h6 a").attr("href").value
    # recipe.description = recipe_doc.css("p.quotation").text.strip.delete "[]"
  end
  #doc.css("article.recipe").first.css("h6").text.strip == NAME
  #doc.css("article.recipe").first.css("dd").text == Cooking Time
  #doc.css("article.recipe").first.css("h6 a").attr("href").value == URL
  #can be used to guide to link info and it's where I need to retrieve description and serving size
  #have to join with original site name
  #recipe_url = food_network_url+doc.css("article.recipe").first.css("h6 a").attr("href").value == recipes URL
  #recipe_doc = Nokogiri::HTML(open(recipe.url))
end
url_full() click to toggle source
# File lib/food_ideas/scraper.rb, line 43
def url_full
  @url_middle = Scraper.ingredients.join("+")    
  full = @url_begin+@url_middle+@url_end
  full
end