私は、Yahoo の株価システムを使用して、オンラインからいくつかの株価を検索する課題に取り組んでいます。残念ながら、私が使用する必要があるYahoo APIは、株が取引された 1 日ごとに 1 行が含まれているように見える .csv ファイルを返します。それらのいくつかの千行(例)。
ただし、2 行目にある現在の価格だけが気になります。
私は現在これをやっています:
require 'open-uri'
def get_ticker_price(stock)
open("http://ichart.finance.yahoo.com/table.csv?s=#{stock}") do |io|
io.read.split(',')[10].to_f
end
end
...しかし、それは本当に遅いです。
すべての遅延はファイルの取得によるものですか、それとも私の処理方法によるものですか?
io.read
ファイル全体を読んでいますか?Yahoo CSV ファイルから最初の数行だけをダウンロードする方法はありますか?
質問 1 と 2 への回答がこれを無関係にしない場合、ファイル全体を見る必要のない、それを処理するより良い方法はありますか (それが何をしていると仮定します
io.read
)?