Javascript 检查提取的URL中是否存在元素

Javascript 检查提取的URL中是否存在元素,javascript,jquery,python,web-crawler,window.open,Javascript,Jquery,Python,Web Crawler,Window.open,我有一个包含30个URL的页面,我需要单击每个URL并检查是否存在元素。 目前,这意味着: $('area').each(function(){ $(this).attr('target','_blank'); var _href = $(this).attr("href"); var appID = (window.location.href).split('?')[1]; $(this).attr("href", _href + '?' + appID);

我有一个包含30个URL的页面,我需要单击每个URL并检查是否存在元素。 目前,这意味着:

$('area').each(function(){
    $(this).attr('target','_blank');
    var _href = $(this).attr("href"); 
    var appID = (window.location.href).split('?')[1];
    $(this).attr("href", _href + '?' + appID);
    $(this).trigger('click');
});
这将打开30个新选项卡,我手动浏览它们

(所有URL都在同一个域中)

如果有一个具有以下逻辑的爬虫程序,那就太好了:

$('area').each(function(){

 1) get the HREF
 2) follow it
 3) on that new page:
    if($('.element')){
     push the $('area') into array1 
    } else {
     push the $('area') into array2
        }
    });


   4) Display array1 in green
      Display array2 in red
基本上,我想生成一份报告,上面写着:

X个爬网页面包含元素Y

Z爬网页面没有元素Y

很明显,我一直在努力让Javascript/jQuery在新打开的选项卡中工作

我发现了,但我不能完全确定这是否可行

这可以通过Javascript/jQuery实现吗

我只是要求正确的方向,我会自己做这些步骤


非常感谢

我建议您使用
iframe
加载页面

例如:

$.each($your-links, function(index, link) {
    var href = $(link).attr("href");
    // your link preprocess logic ...

    var $iframe = $("<iframe />").appendTo($("body"));
    $iframe.attr("src", href).on("load", function() {
        var $bodyContent = $iframe.contents().find("body");
        // check iframe content and remove iframe
        $iframe.remove();
    }
}
$。每个($您的链接、函数(索引、链接){
var href=$(link.attr(“href”);
//你的链接预处理逻辑。。。
var$iframe=$(“”)。appendTo($(“body”);
$iframe.attr(“src”,href).on(“load”,function()){
var$bodyContent=$iframe.contents().find(“body”);
//检查iframe内容并删除iframe
$iframe.remove();
}
}
但是,我应该说,如果你的爬虫和检查过的页面有不同的域,就会出现问题

我创建了一个简单的项目,展示了如何实现这种方法。 您可以下载它并在一些本地web服务器(apache、iis等)上运行