Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 木偶演员获得有关页面加载的信息-加载的文件列表及其大小_Javascript_Node.js_Npm_Puppeteer - Fatal编程技术网

Javascript 木偶演员获得有关页面加载的信息-加载的文件列表及其大小

Javascript 木偶演员获得有关页面加载的信息-加载的文件列表及其大小,javascript,node.js,npm,puppeteer,Javascript,Node.js,Npm,Puppeteer,我想知道是否有可能列出通过Google的Puppeter加载的网页加载的所有文件,例如脚本、样式(不包括内联)、图像、视频、音频。我需要得到文件列表以及它们各自的大小。这可能吗?如果不可能,是否有某种软件(例如npm包)可以做到这一点 搜索Google和NPM的结果与我所需要的完全不同。页面资产不存储在磁盘上,它们保存在浏览器内存中,有时被缓存,因此不可能知道它们的大小 您想了解的是web抓取,它可以通过以下模块完成: 上面的代码将拦截请求并将它们保存在输出文件夹中,您可以在其中检查它们的大小。

我想知道是否有可能列出通过Google的Puppeter加载的网页加载的所有文件,例如脚本、样式(不包括内联)、图像、视频、音频。我需要得到文件列表以及它们各自的大小。这可能吗?如果不可能,是否有某种软件(例如npm包)可以做到这一点


搜索Google和NPM的结果与我所需要的完全不同。

页面资产不存储在磁盘上,它们保存在浏览器内存中,有时被缓存,因此不可能知道它们的大小

您想了解的是web抓取,它可以通过以下模块完成:


上面的代码将拦截请求并将它们保存在输出文件夹中,您可以在其中检查它们的大小。有关更多详细信息,请参阅链接文章。

来自@mihai的代码适用于大多数情况。但当有人回应时 206状态(图像、视频和音频通常为206响应),将抛出错误。看见

page.on('response', async (response) => {
    const url = new URL(response.url());
    let filePath = path.resolve(`./output${url.pathname}`);
    if (path.extname(url.pathname).trim() === '') {
      filePath = `${filePath}/index.html`;
    }
    await fs_extra.outputFile(filePath, await response.buffer());
  });