从通过XMLHTTPRequest加载的网页中提取URL的最佳方法?

时间:2011-10-06 16:17:18

标签: javascript html regex xmlhttprequest

问题概述

  • 我有一个动态制作的网页X,其中包含链接到网页的搜索结果,Y1Y2Y3等。
  • Y1包含资源网址R1Y2包含资源网址R2,依此类推。
  • 我想动态增强页面X,其中包含指向资源R1R2等的链接。

可能的解决方案

我目前正在考虑使用JavaScript和XMLHTTPRequest从网页Y1Y2等检索HTML ,然后使用正则表达式以提取URL

页面Y1Y2等每个都在30-100KB的HTML范围内。

这听起来像个好计划吗?或者我会更好地检索JSON格式的每个网页并从中提取资源网址吗?如果HTML是可行的方法,您是否有任何建议的优化/捷径来搜索30-100 KB的文本?

1 个答案:

答案 0 :(得分:1)

您不想使用正则表达式来提取URL。我建议使用jQuery来执行AJAX请求,然后使用jQuery来解析和过滤掉从服务器返回的HTML中的URL。

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'); 
...