Jquery - 如何使这段代码工作? (从其他网站提取信息)

时间:2016-11-08 10:00:50

标签: javascript jquery

我发现了很好的代码片段似乎可行,但我有难以适应我的需求(从未使用过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)。

我应该改变什么来使其有效?

1 个答案:

答案 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>')          
     })

})

您要提取的标记包含类现金。