2014-02-21 242 views
1

我使用YQL來請求我的網頁上顯示的特定股票的數據(請參閱my answer到相關的YQL問題)。YQL查詢隨機失敗

定期,由於沒有明顯的原因,獲取庫存數據的調用失敗。如果我只是刷新頁面,那麼它會(可能)再次工作。總的來說,它似乎成功了75%的時間,而其他25%未能成功。

當我在YQL console測試我的電話,我得到同樣的事情:偶爾results回來爲null

enter image description here

再次點擊測試按鈕(不作任何更改)然後將通常正確拉動結果。

我知道有多少次我可以提出請求,但是我無法接近2,000個請求/小時/ IP(即使控制檯測試失敗也無濟於事)。

問題還有什麼?雅虎的服務僅僅是點點滴滴嗎?


UPDATE:啓用YQL的debug選擇,我得到以下信息:

未找到表定義yahoo.finance.quotes


更新2:上面的錯誤是由於沒有啓用「顯示社區表」選項(根據@ BrianC的回答)。但是,即使啓用了該選項,我仍然偶爾會從查詢中獲得null響應,如屏幕截圖所示。

+0

勾選「調試」選項,然後再次運行查詢。它應該爲您提供指向YQL所做外部請求的調試信息的鏈接,以查看它是否與數據提供者有關。 – salathe

+0

不錯的想法,不幸的是我還沒有能夠讓它失敗,但啓用了調試選項......哈哈。 – daGUY

回答

-1

默認情況下,YQL控制檯將只使用內置表。表yahoo.finance.quotes實際上是社區表的一部分(ref:datatables.org)。

解決方案是檢查(啓用)左上角的顯示社區表選項。這將讓你像上面顯示的示例查詢工作。選中此選項也會將env參數添加到控制檯底部顯示的其餘查詢中。當您的應用程序對YQL進行API調用時,您還需要添加此項。

注意:如果您想知道爲什麼Yahoo Finance表格是社區表格的一部分而不是內置的,那是因爲這些表格是刮掉相關網頁的非官方表格。不幸的是,仍然沒有官方的Yahoo Finance API(或YQL表)。

+0

嗯......這聽起來很有道理,但即使選中了該選項,我仍然可以在YQL控制檯中調用失敗一次。而我正在使用的查詢已經有'env'參數... – daGUY