2017-02-23 149 views
0

我在使用YQL时遇到了一些问题。我试图从URL中查询RSS,但没有得到任何结果。雅虎YQL RSS没有返回结果

输入此查询:

select title from rss where url="http://www.spoilertv.com/feeds/posts/default/-/Aftermath" 

...和,而不是获得冠军的要求,控制台显示:

<?xml version="1.0" encoding="UTF-8"?> 
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" 
    yahoo:count="0" yahoo:created="2017-02-23T17:13:16Z" yahoo:lang="en-US"> 
    <diagnostics> 
     <publiclyCallable>true</publiclyCallable> 
     <url execution-start-time="1" execution-stop-time="101" 
      execution-time="100" id="5080cef9-75a4-4356-9b08-1d68fb3d855d"><![CDATA[http://www.spoilertv.com/feeds/posts/default/-/Aftermath]]></url> 
     <user-time>118</user-time> 
     <service-time>100</service-time> 
     <build-version>2.0.84</build-version> 
    </diagnostics> 
    <results/> 
</query> 

出了什么问题?

回答

0

当我使用YQL向您的URL示例发出了一些请求时,我得到两个结果,以JSON或XML获得结果,它始终是NULL

根据该link

YQL仅产生XML或JSON。您可以创建rss或atom feed,但它总是会在yql根元素内。因此,您需要另一个工具 从响应中提取Feed。我正在使用Google Apps脚本 。它能够解析和创建XML/RSS,并使用服务器端JavaScript 如:

var url = 'http://query.yahooapis.com/v1/public/yql?q=...'; // rest query to YQL table 
var xml = UrlFetchApp.fetch(url).getContentText(); // this is an xml string 
var root = XmlService.parse(xml).getRootElement(); // now we can modify this xml or create a new one. 

我建议你在做,而不是下面的测试:

检查这个link,并按照步骤#6 :

单击复制URL。从yql_news_app.html,将URL粘贴到所看到以下而你的情况 您可以检查作为第二个脚本标签的src属性 如下

<body> 
    <div id='results'></div> 
    <escript src='https://query.yahooapis.com/v1/public/yql?q=select%20title%20from%20rss%20where%20url%3D%22http%3A%2F%2Fwww.spoilertv.com%2Ffeeds%2Fposts%2Fdefault%2F-%2FAftermath%22&diagnostics=true'> 
    </escript> 
</body> 

在浏览器中,按F12 (并检查控制台标签)。看看是否有错误。如果是这样,请更新您的问题与结果的详细信息。