Class: Scraper
- Inherits:
-
Object
- Object
- Scraper
- Defined in:
- lib/ra_events/scraper.rb
Class Method Summary collapse
- .no_events_listed(ra_events_page) ⇒ Object
- .scrape_events_page(url) ⇒ Object
- .scrape_links(index_url) ⇒ Object
Class Method Details
.no_events_listed(ra_events_page) ⇒ Object
37 38 39 |
# File 'lib/ra_events/scraper.rb', line 37 def self.no_events_listed(ra_events_page) ra_events_page.css('.pr8').first.text.include?("no events") end |
.scrape_events_page(url) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ra_events/scraper.rb', line 17 def self.scrape_events_page(url) ra_events_page = Nokogiri::HTML(open(url)) Event.new({no_events_listed: true}) if self.no_events_listed(ra_events_page) ra_events_page.css("#items").each do |event_listings| event_listings.css('li').each do |event| event_date = event.css('time').text event_title = event.css('div h1 a').text.gsub("#{event.css('span a').text}", "") event_location = event.css('span a[1]').text + " " + event.css('a[2]').text unless event.css('span a').text.empty? event_artists = event.css('div div').text unless event.css('div div').text.empty? event_url = event.css('a').attr('href').text if event_title != "" && event_location != "" Event.new({date: event_date, title: event_title, location: event_location, artists: event_artists, url: event_url}) end end end end |
.scrape_links(index_url) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/ra_events/scraper.rb', line 7 def self.scrape_links(index_url) state_event_page_url = {} ra_events_page = Nokogiri::HTML(open(index_url)) ra_events_page.css("li.parent a").each do |e| state_event_page_url[e.children.text] = e['href'] unless e.children.text == "Washington DC" end state_event_page_url end |