Адаптация выходных данных YQL - PullRequest
1 голос
/ 20 июля 2010

Этот оператор YQL ( выполняется в консоли YQL ) выбирает название и год фильма с веб-сайта TMDB.

select content from html where url="http://www.themoviedb.org/movie/27205" and xpath='//h3[@id="year"]|//h2[@id="title"]/a'

результаты возвращаются так:

"results": {
  "a": "Inception",
  "h3": "(2010)"
}

Есть ли простой способ пометить результаты как "имя" и "год", а не элементы html, из которых они были получены?

Ура!

1 Ответ

2 голосов
/ 21 июля 2010

В настоящее время не существует простого способа быстрого наложения псевдонимов возвращаемых меток.Лучший способ на данный момент - создать пользовательскую таблицу данных , которая сделает ваш запрос к TMDB и преобразует результат (с Javascript, в блок <execute>) в любое, что вы хотитенапример.

Например, я создал для вас быструю настраиваемую таблицу, которая возвращает результаты с выбранными вами ярлыками (name и year).Он также удаляет круглые скобки со всего года.Чтобы запустить тест, используйте:

use "store://github.com/tmdb-jp" as tmdb;
select * from tmdb where movieid="27205"

. Полученный JSON будет иметь следующую структуру (в пределах обычного ответа YQL):

"movie": {
 "title": "Inception",
 "year": "2010"
}

Если вы хотитеПопробуйте самостоятельно создать таблицу данных или просто посмотрите, что с этим связано, тогда источник находится на my github .Также (это может быть полезно) вы можете запросить несколько фильмов одновременно:

use "store://github.com/tmdb-jp" as tmdb;
select * from tmdb where movieid in ("27205","9802")

PS URL-адреса store:// означают, что таблица данных хранится в облаке Yahoo !.«за скорость и надежность.Конечно, вместо этого вы можете использовать обычный http:// URL (например, по github).

...