1

我对 YQL 相当陌生,并且在可靠性方面遇到了一些问题。(来自谷歌 XML 源)

我的请求大约有 50% 的时间失败。我想知道为什么会这样以及如何解决。

我最初的想法是;

  • 谷歌是否阻止 YQL 发出成功的请求?
  • YQL 本身不是很可靠吗?

这是输出或 YQL 查询(您可以将其放在地址栏中并不断刷新以查看其成功/失败)。

YQL JSON


这是我正在使用的 YQL 语句

select * from xml
    where url='http://www.google.com/ig/api?weather=CM12QE'

我还在YQL 控制台上选择 JSON 选项。


难道我做错了什么?YQL 在我的应用程序中用作服务不是很可靠吗?有没有很好的方法来保证预期的结果而无需提出其他请求?

4

2 回答 2

2

谷歌是否阻止 YQL 发出成功的请求?

更常见的情况不是 YQL 成为问题,而是数据源(无论可能是什么)是任何问题的根源。在这种情况下,Google 对您和 YQL 期望得到的响应给出了不同的响应;这是因为 YQL 引擎被重定向到包含 CAPTCHA 输入表单(示例)的页面,而不是所需的 XML。

YQL 本身不是很可靠吗?

我使用 YQL 已经很多年了,最常见的问题原因不是 YQL,而是外部数据源。然而,YQL 可能会不时倒下。

我能做些什么?

第一步是确定问题到底是什么。基本步骤包括打开诊断和调试。控制台中有复选框,或者在 YQL URL 中放置diagnostics=true和。debug=true这些提供了有关获取哪些外部资源及其状态信息的详细信息。诊断通常足以确定问题,但调试细节也很好,因为它们提供了 YQL 与外部资源交互的最细粒度的细节。

YQL 控制台诊断和调试复选框位置

也可以看看

于 2012-04-10T14:10:37.827 回答
1

在对请求进行了更多调试后,&diagnostics=true我发现 Google 正在阻止 YQL 服务器并通过验证码请求人工验证。

例如,请参阅此链接。 http://www.google.com/sorry/?continue=http://www.google.com/ig/api%3Fweather%3DCM12QE

这里的答案是&diagnostics=true在 url 的末尾使用。并获得一些额外的调试信息。

比较有意思的是,通过控制台运行YQL时,成功率在100%左右

于 2012-04-10T13:29:46.420 回答