Sha256: 1d4a2f327539e9c018da754fe5079bf46d78736a646adc1ac438183fb46dd04c
Contents?: true
Size: 758 Bytes
Versions: 2
Compression:
Stored size: 758 Bytes
Contents
class SP500Scraper < StockIndex::BaseScraper def scrape doc = Nokogiri::HTML(open(StockIndex::INDICES['^GSPC'][:url])) parse_rows doc.css('table.wikitable.sortable')[0].css('tr') end private def symbol(tr) symbol_td = td(tr, 0) s = symbol_td ? symbol_td.css('a').first.text : nil SymbolParser.new(s).sp500_to_bsym end def market(tr) market_td = td(tr, 0) market_link = market_td ? market_td.css('a').first.attributes['href'].value : nil StockIndex::Market.new(parse_market_link(market_link)).to_iso10383 end def wikipedia_link(tr) wikipedia_position(tr, 1) end def parse_market_link(market_link) if market_link uri = URI(market_link) uri.host else nil end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stock_index-0.7.0 | lib/stock_index/scrapers/SP500_scraper.rb |
stock_index-0.6.0 | lib/stock_index/scrapers/SP500_scraper.rb |