这个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元素?
干杯!
答案 0 :(得分:2)
目前没有简单方法快速为返回的标签设置别名。目前最好的方法是创建一个自定义data table,它使您查询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")
P.S。 store://
网址只是表示数据表存储在Yahoo!的“云”中,以提高速度和可靠性。您当然可以使用普通的http://
网址(例如通过github one)。