【问题标题】:Optimal way to extract a URL from web page loaded via XMLHTTPRequest?从通过 XMLHTTPRequest 加载的网页中提取 URL 的最佳方法?
【发布时间】:2011-10-08 00:58:05
【问题描述】:

问题概述

  • 我有一个动态生成的网页X,其中包含链接到网页的搜索结果Y1Y2Y3 等。
  • Y1 包含资源 URL R1Y2 包含资源 URL R2,以此类推。
  • 我想通过资源链接R1R2 等动态增强页面X

可能的解决方案

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

Y1Y2 等页面的 HTML 大小均为 30-100KB。

这听起来是个好计划吗? 或者我会更好地以 JSON 格式检索每个网页并从那里提取资源 URL?如果 HTML 是要走的路,对于搜索 30-100 KB 的文本,您是否有任何建议的优化/捷径?

【问题讨论】:

    标签: javascript html regex xmlhttprequest


    【解决方案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'); 
    ...
    

    【讨论】:

    • 不幸的是,jQuery 不是一个选项。不过,我喜欢另类的声音——干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多