2017-02-23 2 views
0

J'ai un peu de problème avec YQL. J'essaye d'interroger un RSS d'une URL mais je n'obtiens aucun résultat.Yahoo YQL RSS retour aucun résultat

tapez cette interrogation:

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

... et au lieu d'obtenir les titres comme demandé, la console affiche:

<?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> 

Quoi de mal?

Répondre

0

Lorsque j'ai fait quelques requêtes à votre exemple d'URL en utilisant YQL, j'ai deux résultats, obtenant les résultats en JSON ou XML c'était toujours NULL.

Selon cette link:

YQL ne produit que XML ou JSON. Vous pouvez créer un flux rss ou atom mais sera toujours dans l'élément racine yql. Vous avez donc besoin d'un autre outil pour extraire un flux de la réponse. J'utilise Google Apps Script pour cela. Il peut analyser et créer xml/rss et utilise javascript côté serveur par exemple:

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. 

Ce que je vous suggère est de faire le lieu test suivant:

Cochez cette link et suivez l'étape 6 :

Cliquez sur Copier l'URL. De yql_news_app.html, collez l'URL dans l'attribut src de la deuxième balise de script comme on le voit ci-dessous qui dans votre cas vous pouvez vérifier comme suit:

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

Dans votre navigateur, appuyez sur F12 (et vérifiez l'onglet Console). voir s'il y a des erreurs. Si oui, veuillez mettre à jour votre question avec les détails des résultats.