class Riperecipes::Recipe
Attributes
cuisine[RW]
directions[RW]
list_of_ingredients[RW]
name[RW]
ready_time[RW]
url[RW]
Public Class Methods
scrape_asian()
click to toggle source
# File lib/riperecipes/recipe.rb, line 20 def self.scrape_asian doc_asian_name = Nokogiri::HTML(open("https://www.allrecipes.com/recipes/227/world-cuisine/asian/")) asian_recipe = self.new asian_recipe.cuisine = "Asian" asian_recipe.name = doc_asian_name.search("h3")[12].text doc_asian_ingredients = Nokogiri::HTML(open("https://www.allrecipes.com/recipe/128601/my-favorite-sesame-noodles/?internalSource=streams&referringId=227&referringContentType=Recipe%20Hub&clickId=st_recipes_mades")) asian_recipe.ready_time = doc_asian_ingredients.search("span.ready-in-time").text asian_directions = doc_asian_ingredients.search("span.recipe-directions__list--item").text.split asian_recipe.directions = asian_directions.join(" ") ingredient_items = [] # First Colomn of Ingredients asian_ingredients_1 = [] asian_ingredients_1 << doc_asian_ingredients.search("#lst_ingredients_1 span.recipe-ingred_txt") asian_ingredients_1.each do |item| item.each do |each_item| ingredient_items << each_item.text end end # Second Colomn of Ingredients asian_ingredients_2 = [] asian_ingredients_2 << doc_asian_ingredients.search("#lst_ingredients_2 span.recipe-ingred_txt") asian_ingredients_2.each do |item| item.each do |each_item| ingredient_items << each_item.text end end asian_recipe.list_of_ingredients = "\n***Ingredients***\n* #{ingredient_items[0...-1].join(" \n* ")}\n" asian_recipe end
scrape_indian()
click to toggle source
# File lib/riperecipes/recipe.rb, line 58 def self.scrape_indian doc_indian_name = Nokogiri::HTML(open("https://www.allrecipes.com/recipes/233/world-cuisine/asian/indian/")) indian_recipe = self.new indian_recipe.cuisine = "Indian" indian_recipe.name = doc_indian_name.search("h3")[12].text doc_indian_ingredients = Nokogiri::HTML(open("https://www.allrecipes.com/recipe/228293/curry-stand-chicken-tikka-masala-sauce/?internalSource=streams&referringId=233&referringContentType=Recipe%20Hub&clickId=st_recipes_mades")) indian_recipe.ready_time = doc_indian_ingredients.search("span.ready-in-time").text indian_directions = doc_indian_ingredients.search("span.recipe-directions__list--item").text.split indian_recipe.directions = indian_directions.join(" ") ingredient_items = [] # First Colomn of Ingredients indian_ingredients_1 = [] indian_ingredients_1 << doc_indian_ingredients.search("#lst_ingredients_1 span.recipe-ingred_txt") indian_ingredients_1.each do |item| item.each do |each_item| ingredient_items << each_item.text end end # Second Colomn of Ingredients indian_ingredients_2 = [] indian_ingredients_2 << doc_indian_ingredients.search("#lst_ingredients_2 span.recipe-ingred_txt") indian_ingredients_2.each do |item| item.each do |each_item| ingredient_items << each_item.text end end indian_recipe.list_of_ingredients = "\n***Ingredients***\n* #{ingredient_items[0...-1].join(" \n* ")}\n" indian_recipe end
scrape_italian()
click to toggle source
# File lib/riperecipes/recipe.rb, line 96 def self.scrape_italian doc_italian_name = Nokogiri::HTML(open("https://www.allrecipes.com/recipes/723/world-cuisine/european/italian/")) italian_recipe = self.new italian_recipe.cuisine = "Italian" italian_recipe.name = doc_italian_name.search("h3")[12].text doc_italian_ingredients = Nokogiri::HTML(open("https://www.allrecipes.com/recipe/23600/worlds-best-lasagna/?internalSource=streams&referringId=723&referringContentType=Recipe%20Hub&clickId=st_recipes_mades")) italian_recipe.ready_time = doc_italian_ingredients.search("span.ready-in-time").text italian_directions = doc_italian_ingredients.search("span.recipe-directions__list--item").text.split italian_recipe.directions = italian_directions.join(" ") ingredient_items = [] # First Colomn of Ingredients italian_ingredients_1 = [] italian_ingredients_1 << doc_italian_ingredients.search("#lst_ingredients_1 span.recipe-ingred_txt") italian_ingredients_1.each do |item| item.each do |each_item| ingredient_items << each_item.text end end # Second Colomn of Ingredients italian_ingredients_2 = [] italian_ingredients_2 << doc_italian_ingredients.search("#lst_ingredients_2 span.recipe-ingred_txt") italian_ingredients_2.each do |item| item.each do |each_item| ingredient_items << each_item.text end end italian_recipe.list_of_ingredients = "\n***Ingredients***\n* #{ingredient_items[0...-1].join(" \n* ")}\n" italian_recipe end
scrape_mexican()
click to toggle source
# File lib/riperecipes/recipe.rb, line 134 def self.scrape_mexican doc_mexican_name = Nokogiri::HTML(open("https://www.allrecipes.com/recipes/728/world-cuisine/latin-american/mexican/")) mexican_recipe = self.new mexican_recipe.cuisine = "Mexican" mexican_recipe.name = doc_mexican_name.search("h3")[12].text doc_mexican_ingredients = Nokogiri::HTML(open("https://www.allrecipes.com/recipe/217911/salsa-chicken-meatloaf/?internalSource=streams&referringId=728&referringContentType=Recipe%20Hub&clickId=st_recipes_mades")) mexican_recipe.ready_time = doc_mexican_ingredients.search("span.ready-in-time").text mexican_directions = doc_mexican_ingredients.search("span.recipe-directions__list--item").text.split mexican_recipe.directions = mexican_directions.join(" ") ingredient_items = [] # First Colomn of Ingredients mexican_ingredients_1 = [] mexican_ingredients_1 << doc_mexican_ingredients.search("#lst_ingredients_1 span.recipe-ingred_txt") mexican_ingredients_1.each do |item| item.each do |each_item| ingredient_items << each_item.text end end # Second Colomn of Ingredients mexican_ingredients_2 = [] mexican_ingredients_2 << doc_mexican_ingredients.search("#lst_ingredients_2 span.recipe-ingred_txt") mexican_ingredients_2.each do |item| item.each do |each_item| ingredient_items << each_item.text end end mexican_recipe.list_of_ingredients = "\n***Ingredients***\n* #{ingredient_items[0...-1].join(" \n* ")}\n" mexican_recipe end
scrape_recipes()
click to toggle source
# File lib/riperecipes/recipe.rb, line 8 def self.scrape_recipes all_recipes = [] all_recipes << self.scrape_asian all_recipes << self.scrape_indian all_recipes << self.scrape_italian all_recipes << self.scrape_mexican all_recipes << self.scrape_southern all_recipes end
scrape_southern()
click to toggle source
# File lib/riperecipes/recipe.rb, line 172 def self.scrape_southern doc_southern_name = Nokogiri::HTML(open("https://www.allrecipes.com/recipes/15876/us-recipes/southern/")) southern_recipe = self.new southern_recipe.cuisine = "Southern" southern_recipe.name = doc_southern_name.search("h3")[12].text doc_southern_ingredients = Nokogiri::HTML(open("https://www.allrecipes.com/recipe/73634/colleens-slow-cooker-jambalaya/?internalSource=streams&referringId=15876&referringContentType=Recipe%20Hub&clickId=st_recipes_mades")) southern_recipe.ready_time = doc_southern_ingredients.search("span.ready-in-time").text southern_directions = doc_southern_ingredients.search("span.recipe-directions__list--item").text.split southern_recipe.directions = southern_directions.join(" ") ingredient_items = [] # First Colomn of Ingredients southern_ingredients_1 = [] southern_ingredients_1 << doc_southern_ingredients.search("#lst_ingredients_1 span.recipe-ingred_txt") southern_ingredients_1.each do |item| item.each do |each_item| ingredient_items << each_item.text end end # Second Colomn of Ingredients southern_ingredients_2 = [] southern_ingredients_2 << doc_southern_ingredients.search("#lst_ingredients_2 span.recipe-ingred_txt") southern_ingredients_2.each do |item| item.each do |each_item| ingredient_items << each_item.text end end southern_recipe.list_of_ingredients = "\n***Ingredients***\n* #{ingredient_items[0...-1].join(" \n* ")}\n" southern_recipe end
today()
click to toggle source
# File lib/riperecipes/recipe.rb, line 4 def self.today self.scrape_recipes end