定制YQL的输出
此 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 元素?
干杯!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
目前没有简单的方法来快速为返回的标签添加别名。目前最好的方法是创建一个自定义数据表,它使您查询TMDB并转换结果(使用Javascript,位于
< /a> block) 到你想要的任何东西。例如,我为您创建了一个快速自定义表格,该表格返回带有您选择的标签(
name
和year
)的结果。它还删除了年份周围的括号。要对其进行测试运行,请使用:生成的 JSON 具有以下结构(在通常的 YQL 响应内):
如果您想尝试自己创建数据表,或者只是看看所涉及的内容,那么源就在我的 github。另外(这可能很有用)您可以一次查询多部电影:
PS
store://
URL 只是意味着数据表存储在 Yahoo! 的“云”中为了速度和可靠性。您当然可以使用普通的http://
URL(例如 github URL)。Currently there is no easy way to quickly alias the returned labels. The best way at the moment is to create a custom data table which makes your query to TMDB and transforms the result (with Javascript, in an
<execute>
block) to whatever you want it to be.For example, I created a quick custom table for you which returns the results with your labels of choice (
name
andyear
). It also removes the parentheses from around the year. To give it a test run, use:With the resulting JSON having the following structure (within the usual YQL response):
If you want to have a go at creating a data table yourself, or just see what's involved, then the source is on my github. Also (it might be useful) you can query for multiple movies at once:
P.S. The
store://
URLs just mean that the data table is being stored in Yahoo!'s "cloud" for speed and reliability. You can of course use a normalhttp://
URL (e.g. by github one) instead.