class ImpactHubEvents::Scraper
Attributes
doc[RW]
Public Class Methods
new(url)
click to toggle source
# File lib/impact_hub_events/scraper.rb, line 7 def initialize(url) @doc = Nokogiri::HTML(open(url)) end
Public Instance Methods
create_events()
click to toggle source
# File lib/impact_hub_events/scraper.rb, line 11 def create_events @doc.css("div.pbr-event-schedule div.row").each do |row| row.css("div.col-sm-10 div.session-item-content-wrapper").each do |event| # binding.pry ImpactHubEvents::Event.new(event.css("article div.right a").attribute("href").value) end end #---- From inidividual page #date doc.css("div.col-sm-3 ul li span").first.text #time doc.css("div.col-sm-3 ul li span")[1].text #title doc.css("div.col-sm-9 h1").text #location doc.css("div.col-sm-3 ul li span")[3].text #description doc.css("div.col-sm-9 p").first.text end
populate_events()
click to toggle source
# File lib/impact_hub_events/scraper.rb, line 27 def populate_events ImpactHubEvents::Event.all.each do |event| event_detail = Nokogiri::HTML(open(event.url)) event.date = event_detail.css("div.col-sm-3 ul li span").first.text unless (event_detail.css("div.col-sm-3 ul li span").first).nil? event.time = event_detail.css("div.col-sm-3 ul li span")[1].text unless (event_detail.css("div.col-sm-3 ul li span")[1]).nil? event.title = event_detail.css("div.col-sm-9 h1").text unless (event_detail.css("div.col-sm-9 h1")).nil? event.location = event_detail.css("div.col-sm-3 ul li span")[3].text unless (event_detail.css("div.col-sm-3 ul li span")[3]).nil? event.description = event_detail.css("div.col-sm-9 p").first.text unless (event_detail.css("div.col-sm-9 p").first).nil? end end