Class: NasdaqScraper
Instance Method Summary
collapse
#build_wikipedia_link, #td, #wikipedia_position
Instance Method Details
#parse_rows(rows) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
|
# 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' market = 'XNAS'
if symbol && market
component = StockIndex::Component.new(symbol, market, wikipedia(li))
array << component.attributes
end
array
end
end
|
#scrape ⇒ Object
3
4
5
6
|
# 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) ⇒ Object
21
22
23
24
|
# 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
|