Надежность YQL - пример использования Google Weather API
Я довольно новичок в YQL и у меня возникли проблемы с надежностью. (Из источника Google XML)
Мой запрос не выполняется примерно в 50% случаев. Я хотел знать, почему это так и как это можно решить.
Мои первые мысли:
- Google мешает YQL сделать успешный запрос?
- Сам YQL не очень надежен?
Вот выход или запрос YQL (вы можете поместить его в адресную строку и обновлять, чтобы увидеть его успех / неудачу).
Это заявление YQL, которое я использую
select * from xml
where url='http://www.google.com/ig/api?weather=CM12QE'
Я также выбираю опцию JSON на консоли YQL.
Я делаю что-то неправильно? Разве YQL не очень надежен для использования в качестве сервиса в моем приложении? Есть ли хороший способ гарантировать желаемые результаты, не делая еще один запрос?
2 ответа
Google мешает YQL сделать успешный запрос?
Гораздо чаще случается так, что источником проблем является не то, что YQL, а источник данных (что бы это ни было). В этом случае Google дает другой ответ на тот, который вы и YQL ожидаете получить; это связано с тем, что движок YQL представлен с перенаправлением на страницу, содержащую форму ввода CAPTCHA ( пример), а не нужный XML.
Сам YQL не очень надежен?
Я работал с YQL много лет, и единственной наиболее частой причиной проблем является не YQL, а внешние источники данных. Однако время от времени YQL может падать.
Что я могу сделать?
Первый шаг - определить, в чем проблема на самом деле. Основные этапы включают включение диагностики и отладки. Есть флажки в консоли или поставить diagnostics=true
а также debug=true
в URL YQL. Они дают подробную информацию о том, какие внешние ресурсы выбираются, и информацию о их состоянии. Диагностики обычно достаточно, чтобы определить проблему, но подробности отладки тоже хороши, поскольку они предоставляют наиболее детальную информацию о взаимодействии YQL с внешним ресурсом.
Смотрите также
После отладки запроса немного больше, используя &diagnostics=true
Я обнаружил, что Google блокирует серверы YQL и запрашивает подтверждение пользователя с помощью капчи.
Смотрите эту ссылку для примера. http://www.google.com/sorry/?continue=http://www.google.com/ig/api?weather=CM12QE
Ответ здесь должен был использовать &diagnostics=true
в конце URL. И получите дополнительную информацию для отладки.
Что довольно интересно, то, что при запуске YQL через консоль уровень успеха составляет около 100%.