Есть ли задокументированный известный способ, которым веб-службы yql усекают запросы данных?

Я работаю с фондовой биржей в конце дня. Я передаю несколько символов тикера в одном запросе. Около 400 или около того я получаю сообщение об ошибке, что строка слишком длинная. Но все, что меньше этого, работает нормально, но возвращает меньше символов, чем я запросил. Я возвращаю около 30-36% запрошенных символов. Фишка в том, что неважно, сколько я отправлю... если я отправлю 100, я получу 36; если я отправлю 10, я получу 3.

Кто-нибудь знает форматирование данных, возвращаемых/реализуемых этим сервером, или способ, которым я могу это узнать? Я готов работать с ним в любой форме, пока я надежно его понимаю. Вот пример строки с одним символом "A":

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22A%22%2C%22A%22)&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys

Любая другая помощь в понимании реализации таблиц/источников данных yql была бы отличной.

Изменить:

Я должен упомянуть, что меньшее, чем ожидалось, число после синтаксического анализа возвращенного xml, отфильтровывая элементы, которые имеют нулевые значения для ключевых дочерних элементов, таких как «LastTradeDate» и «symbol».


person StatsViaCsh    schedule 23.01.2012    source источник
comment
Можете ли вы дать несколько запросов, которые воспроизводят это поведение? Я пробовал с 1, 10 и 426 символами, и все они дали ожидаемые результаты.   -  person salathe    schedule 24.01.2012
comment
@salathe У вас была возможность посмотреть на качество возвращенного xml? Если символы используются в настоящее время, есть ли у вас полные точки данных для всех?   -  person StatsViaCsh    schedule 24.01.2012
comment
Ни у кого нет полных данных (значение в каждом поле). Из 426 запрошенных символов 192 были переименованы, а 17 не существуют. Я не вижу в этом проблемы с YQL, а скорее с самими биржевыми символами (основной проблемой является переименование).   -  person salathe    schedule 24.01.2012
comment
@salathe По вашему мнению, символы действительны, мои... когда я отправляю 300, я знаю, что подавляющее большинство (если не все) действительны. Например: NVDA (NVidia), RIMM (Research in Motion) не возвращаются.   -  person StatsViaCsh    schedule 24.01.2012
comment
@StatsViaCsh здесь звучит как две возможные проблемы: 1) YQL имеет ограничение на общую длину строки, в результате чего возвращаются не все ваши символы; или 2) возвращены все символы, но для каждого существуют не все поля. Не могли бы вы опубликовать пример YQL-запроса, который не работает, и объяснить, чего вы ожидаете?   -  person BrianC    schedule 24.01.2012


Ответы (1)


Моя проблема действительно заключалась в строке запроса, которую я передал. Я датирую запросы в своем коде для данных, и возвращались только самые последние точки данных даты торговли. Поэтому, очевидно, мне нужно запустить отдельную процедуру для запроса исторических цен. Спасибо за помощь.

Для справки в будущем: yahoo.finance.quotes возвращает данные только за последний торговый день. yahoo.finance.historicaldata можно запрашивать по дате.

person StatsViaCsh    schedule 24.01.2012