Оптимальный способ извлечь URL из веб-страницы, загруженной через XMLHTTPRequest? - PullRequest
0 голосов
/ 06 октября 2011

Обзор проблемы

  • У меня есть динамически создаваемая веб-страница, X, которая состоит из результатов поиска, ссылающихся на веб-страницы, Y1, Y2,Y3 и т. Д.
  • Y1 содержит URL ресурса R1, Y2 содержит URL ресурса R2 и т. Д.
  • Я хотел бы динамически улучшить страницу X со ссылками на ресурсы R1, R2 и т. Д.

Возможное решение

В настоящее время я думаю о с использованием JavaScript иXMLHTTPRequest для извлечения HTML с веб-страниц Y1, Y2 и т. Д., А затем используйте регулярное выражение для извлечения URL .

Pages Y1, Y2 и т. Д. Находятся в диапазоне 30-100 КБ HTML.

Похоже ли это на хороший план? Или мне лучше получить каждую веб-страницу в формате JSONи извлечение URL ресурса оттуда?Если вам нужен HTML, есть ли у вас какие-либо варианты оптимизации / сокращения для поиска 30–100 КБ текста?

1 Ответ

1 голос
/ 07 октября 2011

Вы не хотите использовать регулярные выражения для извлечения URL.Я предлагаю использовать jQuery для выполнения запроса AJAX, а затем использовать jQuery для анализа и фильтрации URL-адресов из HTML-кода, возвращаемого с сервера.

jQuery.ajax({
    url: "http://my.url.here",
    dataType: "html";
    ...
    success: function(data) {
        jQuery("a", data).each(function() {
            var $link = jQuery(this);
            ...
            ...
        });
    }
    ...
});

Если jQuery не вариант, вы можете сделатьчто-то вроде этого, когда вы получите ответ:

var html = XHR.responseText;
var div = document.createElement("div");
div.innerHTML = html;

//you can now search for nodes inside your div.
//The following gives you all the anchor tags
div.getElementsByTagName('a'); 
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...