Javascript AJAX解析+Yahoo YQL不返回结果?

Javascript AJAX解析+Yahoo YQL不返回结果?,javascript,jquery,yql,Javascript,Jquery,Yql,我正在编写一个脚本,通过Yahoo的YQL从外部网站获取所有元素。这项技术最近运行良好,但从今天起停止工作。我不完全清楚为什么,所有网站都使用此代码: <script type="text/javascript"> $(document).ready(function () { var container = $('#target'); function doAjax(url) { if (url.match('^http')) {

我正在编写一个脚本,通过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>

我将url改为google,并将其改为查找标记而不是标记,以更好地显示其不起作用。我查看了它请求的URL,但它没有显示任何内容。但不确定问题出在哪里。

您是否检查了已爬网的外部网站是否有结构更改?
当它以前工作过,现在不再工作时,我的提示是站点结构已经改变。

看起来问题是YQL关闭了?我只是再次测试,结果很好。我希望将来如果发生停机,他们会告诉我们。

是的。。。就像我说的,我改变了上面的代码,找到了谷歌的标签并显示了它的内容。我非常怀疑谷歌是否决定去掉body标签。在Twitter上关注是有帮助的。它似乎并没有太多的短期停机,但若有任何更普遍的问题或升级,Twitter频道似乎是有帮助的。此外,您可能应该在此处将自己的答案标记为已接受,因此此问题标记为已完成。