나는 모든 사용 가능한 필드에 대해 XML을 생성하기 위해 YQL 쿼리 (GOOG, YHOO, MSFT 및 AAPL과 함께 표준 예제 쿼리)를 사용하고 있습니다. Ruby 스크립트를 사용하여 XML 출력용 YQL 사이트를 긁어서 다른 주식에 대해 반복해서 실행할 수 있고 데이터를 어딘가에 저장할 수 있기를 원했습니다. 나는 아직 내 대본을 끝내지 못했지만, 나는 가지고 있지 않은 것 같다. 여기에 코드입니다 :YQL Ruby의 XML에 대한 Yahoo Finance Scraper
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 ")는 유효합니다." 그리고 나서 멈 춥니 다. 오, yahoo.finance.quotes가 작동하지 않았기 때문에 그 Github URL을 사용하고 있으며, Stackoverflow의 다른 사용자가 사용하도록 제안했습니다.
CSS 태그를 확인하려면 http://developer.yahoo.com/yql/console/으로 이동하여 내 검색어를 입력 한 다음 inspect 요소를 입력하십시오. 나는 그것을 여기에 게시 할 것이지만 나는 어떻게해야할지 모른다.
마지막 비트를 시도해 볼 것입니다. 수동으로 "xxxx ax 인용 부호 사용"을 두 번 확인했습니다. 쿼리가 작동하고 문제가 발생하지 않는다고 생각합니다. 오류 메시지가 없다는 것을 알았지 만 오류 처리 블록을 구현 한 후에는 어떻게해야합니까? – user3103499
구현 됨 오류 처리는 여전히 동일한 결과를 얻습니다. 오류가없고 출력이 없습니다 – user3103499
무엇이 response.code입니까? – Meier