Class: WaTrailRuns::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/wa_trail_runs/scraper.rb

Instance Method Summary collapse

Instance Method Details

#scrape_evergreenObject



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/wa_trail_runs/scraper.rb', line 3

def scrape_evergreen
  @evergreen_top = Nokogiri::HTML(open("http://www.evergreentrailruns.com/"))
  @evergreen_event = Nokogiri::HTML(open("http://www.evergreentrailruns.com/11-17-grand-ridge-trail-run"))
  run = WaTrailRuns::Run.new
  run.title = @evergreen_top.css(".custom div")[1].children[1].to_s.split(" - ")[0].delete!("/<h4>/")
  run.description = @evergreen_event.css(".item_content p")[0].text
  run.date = @evergreen_top.css(".custom div")[1].children[1].to_s.split(" - ")[1].delete!("/<h4>/")
  run.info_url = @evergreen_top.css(".custom div")[1].children[3].children[0].attribute("href").text.prepend("www.evergreentrailruns.com")
  run.reg_url = @evergreen_event.css("a[title='Register on Webscorer']").attribute("href").text
  run.save
end

#scrape_northwestObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/wa_trail_runs/scraper.rb', line 15

def scrape_northwest
  @northwest = Nokogiri::HTML(open("http://nwtrailruns.com/events/"))
  run_array = []
  events = @northwest.css(".event")
  counter = 0
  events.each do |event|
    if counter < 4
      run = WaTrailRuns::Run.new
      run.title = event.css(".the-title").text.strip
      run.description = event.css(".the-content").children[1].text
      run.date = event.css(".the-date").text
      run.info_url = event.css(".the-title").css("a").attribute("href").text
      run.reg_url = event.search("a[target='_blank']").attribute("href").text
      run.save
      counter = counter + 1
    end
  end
end