2012-01-10 10 views
0

私は外部のウェブサイトからすべての<table>要素をYahooのYQLを経由して取得するスクリプトに取り組んでいます。これは最近うまくいきましたが、今日の時点では機能しなくなりました。私が使用するすべてのウェブサイトが、このコードで動作するように、なぜ、全くわからない:AJAX解析+ Yahoo YQLは結果を返しませんか?

<script type="text/javascript"> 
$(document).ready(function() { 
    var container = $('#target'); 
    function doAjax(url) { 
     if (url.match('^http')) { 
      $.getJSON("http://query.yahooapis.com/v1/public/yql?" 
      + "q=select%20*%20from%20html%20where%20url%3D%22" 
      + encodeURIComponent(url) 
      + "%22&format=xml'&callback=?", 
      function (data) { 
       if (data.results[0]) { 
        var fullResponse = $(filterData(data.results[0])), 
         justTable = fullResponse.find("body"); 
        container.append(justTable); 
       } else { 
        var errormsg = '<p>Error: could not load the page.</p>'; 
        container.html(errormsg); 
       } 
      }); 
     } else { 
      $('#target').load(url); 
     } 
    } 
    function filterData(data) { 
     data = data.replace(/<?\/body[^>]*>/g, ''); 
     data = data.replace(/[\r|\n]+/g, ''); 
     data = data.replace(/<--[\S\s]*?-->/g, ''); 
     data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g, ''); 
     data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g, ''); 
     data = data.replace(/<script.*\/>/, ''); 
     data = data.replace(/<img[^>]*>/g, ''); 
     return data; 
    } 
    doAjax('http://www.google.com'); 
}); 
</script> 

私はGoogleにURLを変更し、より良いその動作していないを表示する代わりに<table>タグの<body>タグを見つけるためにそれを変更しました。リクエストしているURLを見て、コンテンツを表示していません。しかし、問題が何であるかはわかりません。

答えて

0

YQLがダウンしていたような問題はありましたか?私はもう一度それをテストし、うまくいった。将来的に停電が発生した場合、私たちに連絡していただければ幸いです。

+0

Twitterの[@yql](http://twitter.com/yql)に続くと便利です。短期間の停電が多いようではないようですが、それ以上の一般的な問題やアップグレードがあれば、Twitterチャンネルが役立つようです。また、おそらくあなた自身の答えをここに受け入れられたものとしてマークする必要があります。そのため、この質問には完了とマークされています。 – BrianC

0

クロールした「外部ウェブサイト」に構造的な変更があるかどうか確認しましたか? 以前はうまくいきましたが、今はもう機能していないとき、私のヒントはサイト構造が変更されたことです。

+0

はい...私が言ったように、上記のコードを変更してGoogleの「」タグを見つけ、そのコンテンツを表示しました。そして私は非常にGoogleがボディタグを取り除くことにしたことに疑念を抱いています。 – Charlie

関連する問題