私は外部のウェブサイトからすべての<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を見て、コンテンツを表示していません。しかし、問題が何であるかはわかりません。
Twitterの[@yql](http://twitter.com/yql)に続くと便利です。短期間の停電が多いようではないようですが、それ以上の一般的な問題やアップグレードがあれば、Twitterチャンネルが役立つようです。また、おそらくあなた自身の答えをここに受け入れられたものとしてマークする必要があります。そのため、この質問には完了とマークされています。 – BrianC