Анализ AJAX + Yahoo YQL не дал результатов? - PullRequest
0 голосов
/ 11 января 2012

Я работаю над сценарием, который получает все элементы <table> с внешнего сайта, проходя через YQL Yahoo.В последнее время это работало нормально, но на сегодня перестало работать.Я не совсем уверен, почему все веб-сайты работали с этим кодом:

<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 и изменил его, чтобы найти тег <body> вместо тегов <table>, чтобы лучшепоказать его не работает.Я посмотрел на URL, который он запрашивает, и он не показывает никакого контента.Не уверен, в чем проблема, хотя.

Ответы [ 2 ]

0 голосов
/ 11 января 2012

Похоже, проблема в том, что YQL не работает?Я только что проверил это снова, и это сработало нормально.Я бы хотел, чтобы они сообщили нам в будущем, если произошел сбой.

0 голосов
/ 11 января 2012

Проверяли ли вы, что "внешний сайт", который вы просматривали, имеет структурные изменения?Если раньше это работало, а теперь уже нет, то я советую, что структура сайта изменилась.

...