我正在编写一个 ruby 脚本来从雅虎获取历史股票价格,使用 Hpricot 来解析页面。这主要是直截了当的:网址是“ http://finance.yahoo.com/q/hp?s=TickerSymbol ”例如,要查找 Google,我会使用“ http://finance.yahoo.com/q /hp?s=GOOG "
不幸的是,当我查找指数的价格时,它会崩溃。索引以插入符号为前缀,例如道琼斯指数的“ http://finance.yahoo.com/q/hp?s=^DJI ”。
该行:
ticker_symbol = '^DJI'
doc = Hpricot(open("http://finance.yahoo.com/q/hp?s=#{ticker_symbol}"))
抛出此异常:
bad URI(is not URI?): http://finance.yahoo.com/q/hp?s=^DJI
Hpricot 在插入符号上窒息(我认为是因为底层的 Ruby URI 库确实如此)。有没有办法逃脱那个角色或强迫图书馆尝试它?