首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么用Wappalyzer分析多个URL地址会导致“堆内存不足”错误?

为什么用Wappalyzer分析多个URL地址会导致“堆内存不足”错误?
EN

Stack Overflow用户
提问于 2019-05-10 17:40:58
回答 1查看 202关注 0票数 0

我想用Wappalyzer分析大约1000个网站,看看他们是否在使用Magento。分析的结果是好的,但在10-11测试后出现“堆内存不足”的错误。我怎么才能避免呢?

代码语言:javascript
运行
复制
function analyseUrl(url) {
    const options = {
        debug: false,
        delay: 500,
        maxDepth: 5,
        maxUrls: 20,
        maxWait: 15000,
        recursive: true,
        htmlMaxCols: 2000,
        htmlMaxRows: 2000,
    };
    return new Promise((resolve, reject) => {
        new Wappalyzer(url, options).analyze()
            .then( json => {
                for (let i = 0; i < json.applications.length; i++) {
                    if (json.applications[i].name === "Magento") {
                        console.log('Magento URL: ' + url);
                        resolve(true);
                    }
                }
                resolve(false);
            })
            .catch(error => {
                reject(error);
            });
    });
}

async function wappalyze() {
    urls = getUrls();
    let magentoUrls = [];
    for (let i = 0; i < urls.length; i++) {
        console.log('Testing URL: ' + urls[i]);
        let isMagento = await analyseUrl(urls[i]);
        if (isMagento) {
            magentoUrls.push(urls[i]);
        }
    }
    console.log(magentoUrls);
    process.exit(0);
}

我的脚本给出了预期的结果,但在第十次测试后,我得到了MaxListenersExceededWarning,在那之后:“致命错误:无效的标记-堆限制附近的压缩分配失败- JavaScript堆内存不足”。

EN

回答 1

Stack Overflow用户

发布于 2020-02-06 18:18:28

每个wappalyzer实例实际上都在后台创建了一个无头浏览器,所以您运行了10个Chromium实例并运行了oom。解决方案就在源代码内部

代码语言:javascript
运行
复制
analyze() {
this.time = {
  start: new Date().getTime(),
  last: new Date().getTime(),
};

return this.crawl(this.origPageUrl);

}

你只需要初始化一个wappalyzer实例,然后调用url.parse来解析url字符串,然后将这个对象传递给你的wappalyzer对象爬行方法(1个实例)。不过,我还没有尝试多个实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56074866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档