我找到了示例代码,但我的修改没有得到任何结果。示例代码有效,可在Puppy Tweets
找到这是我修改它的方式,但没有结果:
<script>
function handleResponse (json) {
var results = json.query.results.json.results,
ul = document.getElementsByTagName( 'ul' )[0],
li = null;
for ( var i = 0; i < results.length; i++ ) {
li = document.createElement( 'li' );
li.innerHTML = results[i].text;
ul.appendChild( li );
}
}
</script>
<script src="select * from html where url="http://www.fishingnotes.com/lakeinfo.php?id=38742" and xpath='//div[@class="lbox"]/div[1]/div/span[1]'"></script>
我使用YQL控制台验证Rest Query是否正确。我需要做什么?
答案 0 :(得分:0)
script src =“select * from html where url =”http://www.fishingnotes.com/lakeinfo.php?id=38742“and xpath ='// div [@ class =”lbox“] / div [1] / DIV /跨度[1]'“&GT;
未经测试,但此处看起来嵌套引号存在问题,因此请先将url="http://www.fishingnotes.com/lakeinfo.php?id=38742"
更改为url='http://www.fishingnotes.com/lakeinfo.php?id=38742'
。然后在xpath中引号内的引号内引用,我不确定它是否可以处理内联。
尝试在变量中存储"lbox"
并引用变量而不是直接引用。
答案 1 :(得分:0)
您的主要错误是尝试使用(仅)YQL查询作为JavaScript脚本的来源。这需要是 URL ,可以通过YQL控制台为您提供,如下所示。
所以<script>
元素可能如下所示:
<script src="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fwww.fishingnotes.com%2Flakeinfo.php%3Fid%3D38742%22%20and%20xpath%3D'%2F%2Fdiv%5B%40class%3D%22lbox%22%5D%2Fdiv%5B1%5D%2Fdiv%2Fspan%5B1%5D'&callback=handleResponse"></script>
JavaScript本身也存在一些小问题。基本工作版本可能如下所示:
<script>
function handleResponse (json) {
var ul = document.getElementsByTagName( 'ul' )[0],
li = null;
for ( var i = 0; i < json.query.count; i++ ) {
li = document.createElement( 'li' );
li.innerHTML = json.results[i];
ul.appendChild( li );
}
}
</script>