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