class NasdaqScraper
Public Instance Methods
parse_rows(rows)
click to toggle source
# File lib/stock_index/scrapers/nasdaq_scraper.rb, line 8 def parse_rows(rows) rows.inject([]) do |array, li| symbol = /.+\((\w+)\)/.match(li)[1] symbol = 'SWKS' if symbol == 'SKWS' # wikipedia erratum market = 'XNAS' if symbol && market component = StockIndex::Component.new(symbol, market, wikipedia(li)) array << component.attributes end array end end
scrape()
click to toggle source
# File lib/stock_index/scrapers/nasdaq_scraper.rb, line 3 def scrape doc = Nokogiri::HTML(open(StockIndex::INDICES['^NDX'][:url])) parse_rows doc.css('ol')[0].css('li') end
wikipedia(li)
click to toggle source
# File lib/stock_index/scrapers/nasdaq_scraper.rb, line 21 def wikipedia(li) wikipedia_path = li.css('a')[0].attributes['href'].value build_wikipedia_link(wikipedia_path) end