调整YQL的输出

时间:2010-07-20 18:01:20

标签: html yql

这个YQL声明(execute in the YQL console)从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)"
}

有没有简单的方法可以将结果标记为'name'和'year'而不是从中获取的html元素?

干杯!

1 个答案:

答案 0 :(得分:2)

目前没有简单方法快速为返回的标签设置别名。目前最好的方法是创建一个自定义data table,它使您查询TMDB并将结果(使用Javascript,在<execute>块中)转换为您想要的任何内容。

例如,我为您创建了一个快速自定义表格,其中包含您选择的标签(nameyear)的结果。它还删除了一年左右的括号。要进行测试运行,请使用:

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")

P.S。 store://网址只是表示数据表存储在Yahoo!的“云”中,以提高速度和可靠性。您当然可以使用普通的http://网址(例如通过github one)。