2016-11-08 10 views
0

私はうまくいくようなコードを見つけましたが、私のニーズに適応するための難点があります(Jqueryは使用しませんでした.Javaの非常に基本的なものです)。 私はその一部を見つけ出すことができましたが、成功させるには成功しませんでした。Jquery - このコードを動作させるにはどうすればいいですか?

私が情報を抽出しようとしているウェブサイトは、HEREです。 divクラス= "現金"(募金額)にある子供(h2)の価値にアクセスしたいと思います。

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を変更しました

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

は、私はこのコード( jfiddle)を適応しようとしています。 残りのコード(url、this.stuff)でも再生されますが、成功しません( fiddle)。

動作させるにはどうすればよいですか?

+0

エラーコンソールには何が表示されますか? –

答えて

1

私はあなたが間違ったURL文字列エスケープ思う: '..../?lang=pl'... - LANGクエリパラメータの後'\'のようにエスケープする必要があります>'..../?lang=pl\'...

を。

追加あなたの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>')   
    }) 

}) 

取り出したいタグは、クラスの行現金が含まれています。

+0

ありがとう、問題は解決しました。私は間違いなくJQueryに時間を費やすでしょう、それはかなり有用なものです!また、私は実際にコードを投稿するだけではなく、説明のために本当に感謝しています。エスケープ文字が欠けている可能性がありますが、今どこに注意を払うべきか分かります。 – oboer

関連する問題