class KnittingPatterns::Scraper

Public Instance Methods

scrape_category_patterns(user_input) click to toggle source
# File lib/knitting_patterns/scraper.rb, line 9
def scrape_category_patterns(user_input)
  doc = Nokogiri::HTML(open("https://www.purlsoho.com/create/category/knit/knit-#{user_input}/"))
  doc.css("li").css("h3").css("a").each do |pattern_info|
    pattern = KnittingPatterns::Pattern.new

    pattern.title = pattern_info.text
    pattern.url = pattern_info.attribute("href").value

    pattern.save
  end
end
scrape_knit_categories() click to toggle source
# File lib/knitting_patterns/scraper.rb, line 3
def scrape_knit_categories
  doc = Nokogiri::HTML(open("https://www.purlsoho.com/create/category/knit/knit-view-all/"))
  category = doc.css("li.categories").css("ul").css("li").text.split("\n")
  category
end
scrape_selected_pattern(pattern_url) click to toggle source
# File lib/knitting_patterns/scraper.rb, line 21
def scrape_selected_pattern(pattern_url)
  doc = Nokogiri::HTML(open("#{pattern_url}"))
  doc.css("div.pf-content").css("p").each do |info|
    puts "#{info.text.strip}"
  end
end