class PopularDeals::Scrapper
Public Class Methods
deal_page(base_url, input, product_url)
click to toggle source
# File lib/popular_deals/scrapper.rb, line 21 def self.deal_page(base_url, input, product_url) product_url = PopularDeals::NewDeals.open_deal_page(base_url, input) deal = {} html = open(product_url) doc = Nokogiri::HTML(html) data = doc.text.strip deal[:name] = doc.css("h1").text.strip deal[:discription] = doc.css(".textDescription").text.strip if doc.at_css("a#largeBuyNow").nil? deal[:purchase] = product_url else deal[:purchase] = doc.at_css("a#largeBuyNow").attr("href") end deal end
scrap_slickdeals(base_url)
click to toggle source
# File lib/popular_deals/scrapper.rb, line 3 def self.scrap_slickdeals(base_url) doc = Nokogiri::HTML(open(base_url)) all_deals = doc.css("div.dealRow") all_deals.collect do |one_deal| deal = PopularDeals::NewDeals.new deal.title = one_deal.css("div.dealTitle a.track-popularDealLink").text.strip link = one_deal.css("div.dealTitle a").attribute("href").value deal.url = "https://slickdeals.net#{link}" deal.deal_rating = one_deal.css("div.ratingCol div.num").text.strip deal.price = one_deal.css("div.priceCol div.price").text.strip date = one_deal.css("div.dealLinks").first.text.strip new_array = date.split deal.posted = "#{new_array[0]} #{new_array[1]}" deal.save end end