我发现了很好的代码片段似乎可行,但我有难以适应我的需求(从未使用过Jquery,只是Java的基础知识)。 我能够找出它的一部分,但没有成功使它成功。
我尝试从HERE中提取信息的网站。我想访问div class =" cash"中存在的child(h2)的值。 (筹集的金额)。
我尝试调整此代码(jfiddle):
var url='http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://stackoverflow.com/\' and xpath=\'//div[@id="question-mini-list"]//h3//a\'&format=json&callback=?';
$.getJSON( url, function(data){
$.getJSON( url, function(data){
$.each(data.query.results.a, function(){
$('body').append('<div><a href="http://stackoverflow.com'+this.href +'">'+this.content+'</a></div>')
})
console.dir(data.query.results)
})
我已将网址更改为:
var url='http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://rycerzeiksiezniczki.pl/kids/agatka/?lang=pl' and xpath=\'//div[@class="cash"]//h2\'&format=json&callback=?';
(替换网站URL和xpath)。 也使用了其余代码(url和this.stuff),但没有成功(fiddle)。
我应该改变什么来使其有效?
答案 0 :(得分:1)
我认为您错误地转义了URL字符串:
'..../?lang=pl'...
- &gt; '..../?lang=pl\'...
lang查询参数之后的'
应该像\'
一样进行转义。
额外的xpath查询不够精确:这应该有效:
var url='http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://rycerzeiksiezniczki.pl/kids/agatka/?lang=pl\' and xpath=\'//div[@class="row cash"]//h2\'&format=json&callback=?';
$.getJSON( url, function(data){
$.each(data.query.results, function(){
$('body').append('<div><a href="http://rycerzeiksiezniczki.pl/kids/agatka/?lang=pl'+'">'+this.content+' ' + this.strong + '</a></div>')
})
})
您要提取的标记包含类和现金。