我想知道是否可以列出为通过 Google 的 Puppeteer 加载的网页加载的所有文件,例如脚本、样式(不包括内联)、图像、视频、音频。我需要获取文件列表及其各自的大小。这可能吗?如果不可能,是否有某种软件(例如 npm 包)可以做到这一点?
在 Google 和 NPM 上搜索结果与我需要的完全不同。
最佳答案
页面 Assets 不存储在磁盘上,它们保存在浏览器内存中,有时会缓存,因此无法知道它们的大小。
你想看的是网络抓取,这可以用像node-website-scraper这样的模块来完成。或 with puppeteer :
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());
});
上面的代码片段将拦截请求并将它们保存在一个输出文件夹中,您可以在其中检查它们的大小。有关详细信息,请参阅链接文章。
关于javascript - Puppeteer 获取有关页面加载的信息 - 加载的文件列表及其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52967184/