2012-08-28 38 views
-2

我使用雅虎阿比和Web服務..關於使用Yahoo!的問題Web服務和API(YQL)

例如:

http://query.yahooapis.com/v1/public/yql?q=select symbol,DaysLow,DaysHigh,PreviousClose from yahoo.finance.quotes where symbol in ("INDUSINDB.NS,YESBANK.NS,CANBK.NS,AXISBANK.NS,SBIN.NS,KOTAKBANK.NS,HDFCBANK.NS,BANKBAROD.NS,UNIONBANK.NS,BANKINDIA.NS,ICICIBANK.NS,PNB.NS")&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys 

http://query.yahooapis.com/v1/public/yql?q=select symbol,DaysLow,DaysHigh,PreviousClose from yahoo.finance.quotes where symbol in ("ACC.NS,AMBUJACEM.NS,ASIANPAIN.NS,AXISBANK.NS,BAJAJAUTO.NS,BANKBAROD.NS,BHARTIART.NS,BHEL.NS,BPCL.NS,CAIRN.NS,CIPLA.NS,COALINDIA.NS,DLF.NS,DRREDDY.NS,GAIL.NS,GRASIM.NS,HCLTECH.NS,HDFC.NS,HDFCBANK.NS,HEROHONDA.NS,HINDALCO.NS,HINDUNILV.NS,ICICIBANK.NS,IDFC.NS,INFY.NS,ITC.NS,JINDALSTE.NS,JPASSOCIA.NS,KOTAKBANK.NS,LT.NS,M%26M.NS,MARUTI.NS,NTPC.NS,ONGC.NS,PNB.NS,POWERGRID.NS,RANBAXY.NS,RELIANCE.NS,RELINFRA.NS,SAIL.NS,SBIN.NS,SESAGOA.NS,SIEMENS.NS,STER.NS,SUNPHARMA.NS,TATAMOTOR.NS,TATAPOWER.NS,TATASTEEL.NS,TCS.NS,WIPRO.NS")&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys 

這些Web服務返回我的XML。但有時它不會返回任何結果。

它顯示

此XML文件沒有出現有任何相關的樣式信息。文檔樹如下所示。

任何一個可以請幫我在這

回答

2

第一:This XML file does not appear to have any style information associated with it. ...並不妨礙顯示結果的文件。似乎有很多流量,查詢時間太長。

YQL Datatables只是csv轉換。因此你可以直接查詢後面的csv。此外,當流量很大時,YQL數據表經常會減少,而csv文件幾乎是最新的。

你可以這樣做(而不是XML,CSV)同用下面的查詢:

http://download.finance.yahoo.com/d/quotes.csv?f=smp&s=INDUSINDB.NS,YESBANK.NS,CANBK.NS,AXISBANK.NS,SBIN.NS,KOTAKBANK.NS,HDFCBANK.NS,BANKBAROD.NS,UNIONBANK.NS,BANKINDIA.NS,ICICIBANK.NS,PNB.NS 

CSV文件是更快更可靠(信息而不是轉換的直接來源)。

+0

謝謝了一噸:)你能否給我提供在ajax調用中刪除CSV文件的指導....我不知道如何使用CSV文件... – Surya

+1

解析csv文件只是做' $ handle = fopen($ file,「r」);'帶'$ file'查詢的網址。然後'$ stocks = array(); ($ data = fgetcsv($ handle,4096,',')){ $ stocks [$ i] ['symbol'] = $ data [0]; $ stocks [$ i] ['name'] = $ data [1]; $ i ++; ... //其他變量 } fclose($ handle);' 然後,您可以使用數組'$ stocks'和您的所有信息。 – Romain

0

您提供的代碼段返回所有字段的N/A。總的來說,雅虎API似乎對西方以外的股票市場有嚴重的限制。我嘗試過使用YQL以及REST API,並且無法訪問印度股票的數據。

嘗試對這裏的大多數例子代RIL.BO:http://www.gummy-stuff.org/Yahoo-data.htm

行之有效的歌和雅虎和AAPL。對於像RIL.BO這樣的印度股票,我得到的只是N/A。您的查詢一再返回:

INDUSINDB.NS N/A - N/A N/A 
YESBANK.NS  N/A - N/A N/A 
CANBK.NS  N/A - N/A N/A 
AXISBANK.NS  N/A - N/A N/A 
SBIN.NS   N/A - N/A N/A 
KOTAKBANK.NS N/A - N/A N/A 
HDFCBANK.NS  N/A - N/A N/A 
BANKBAROD.NS N/A - N/A N/A 
UNIONBANK.NS N/A - N/A N/A 
BANKINDIA.NS N/A - N/A N/A 
ICICIBANK.NS N/A - N/A N/A 
PNB.NS   N/A - N/A N/A 

可惜!雅虎對他們的API看起來並不認真,或者這可能非常有用。文檔也沒有幫助。