XML我使用的是YQL查询(标准的例子查询,用歌,雅虎,MSFT和AAPL)生成XML的所有可用字段。我想在使用Ruby脚本生成XML输出后,为YQL站点寻找帮助,这样我就可以反复运行不同的股票并将数据存储在某个地方。我还没有完成我的脚本,但我似乎只是没有运行。下面是代码:YQL雅虎财经刮板上的Ruby
yahoo_finance_scrape.rb
require 'rubygems'
require 'nokogiri'
require 'restclient'
PAGE_URL = "http://developer.yahoo.com/yql/console/"
yql_query = 'use "http://github.com/spullara/yql-tables/raw/d60732fd4fbe72e5d5bd2994ff27cf58ba4d3f84/yahoo/finance/yahoo.finance.quotes.xml"
as quotes; select * from quotes where symbol in ("YHOO","AAPL","GOOG","MSFT") '
if page = RestClient.post(PAGE_URL, {'name' => yql_query, 'submit' => 'Test'})
puts "YQL query: #{yql_query}, is valid"
xml_output = Nokogiri::HTML(page)
lines = xml_output.css('#container #layout-doC#yui-gen3000008 #yui-gen3000009 #yui_3_11_0_3_1393417778356_354
#yui-gen3000015 #yui-gen3000016 div#yui_3_11_0_2_1393417778356_10 #centerBottomView
#outputContainer div#output #outputTabContent #formattedView #viewContent #prexml')
lines.each do |line|
puts line.css('span').map{|span| span.text}.join(' ')
sleep 0.03
end
end
当我运行程序,只打印 “YQL查询:使用” http://github.com/spullara/yql-tables/raw/d60732fd4fbe72e5d5bd2994ff27cf58ba4d3f84/yahoo/finance/yahoo.finance.quotes.xml “ 的报价; SELECT * FROM报价凡在符号(” YHOO“,”AAPL“,”GOOG“,”MSFT“)有效” 然后停止。哦,我正在使用Github网址,因为yahoo.finance.quotes没有工作,而Stackoverflow上的其他人建议使用它。
如果你想检查CSS标签,只是去http://developer.yahoo.com/yql/console/并进入我的查询,就可以做一个检查元素。我会在这里发布,但我不知道如何。
我会尝试,最后一点出来。我双击通过手动输入它作为检查“使用XXXX斧引号”一个查询和它的工作,所以我不认为这是问题的根源。我意识到,我没有任何错误消息,但我应该如何解决这个问题,我已经实现了错误处理块? – user3103499
已实施错误处理仍然得到相同的结果没有错误但没有输出 – user3103499
什么是响应代码 – Meier