如何解决YQL RSS feednormalizer中的限制和处理错误
| 我正在使用YQL使用以下查询一次检索多个RSS feed(频道):SELECT * FROM feednormalizer
WHERE output=\"rss_2.0\"
AND url in (\"http://rss.cnn.com/rss/edition.rss\",\"http://bad.url.com/nothing\",\"http://rss.cnn.com/rss/edition_space.rss\")
所以我实际上有2个问题:
如何将每个供稿限制为一定数量的物品? (例如,我想从每个渠道中获取前三项)
请注意,第二个URL无效(不是真实RSS的URL)。在这种情况下,YQL结果返回2个有效通道以及一个错误,但是没有指示哪个URL有效和哪个URL失败。
换句话说-对于每个结果供稿,都没有指示它从哪个URL到达的。
关于如何识别每个渠道有什么想法?
谢谢
解决方法
第一个问题:
我想到的第一个想法是使用
query.multi
:
SELECT rss.channel.item FROM query.multi WHERE queries=\"
SELECT channel.item FROM feednormalizer WHERE output=\'rss_2.0\' AND url = \'http://rss.cnn.com/rss/edition.rss\' LIMIT 3;
SELECT channel.item FROM feednormalizer WHERE output=\'rss_2.0\' AND url = \'http://rss.cnn.com/rss/edition_space.rss\' LIMIT 3;\"
不是最优雅的方法,但它可以工作。
第二个问题:
我认为不可能。由于YQL的WHERE x IN ()...
语法实际上不是SQL连接,因此无法选择投影中内部子查询的部分,这取决于您的情况。
如果有人在这个问题上证明我做错了,我会很高兴,因为我本人需要几次,并且总是必须以编程的方式来解决它:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。