puppeteer 临时文件消耗过多磁盘空间

Mul*_*rBh 3 node.js puppeteer

我在使用木偶时遇到问题,我需要优化其性能,并且还知道如何让它支付临时文件的费用。

我使用的参数是

 args: [
                    `--window-size=800,600`,
                    '--no-sandbox',
                    '--disable-setuid-sandbox',
                    '--disable-dev-shm-usage',
                    '--disable-accelerated-2d-canvas',
                    '--no-first-run',
                    '--no-zygote',
                    '--disable-gpu'
                ]
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以优化它,而不是让它因临时文件而占用磁盘上的大量空间?

我每天用我制作的刮刀打开它超过 1000 次。

没有办法进入headles

Nte*_*hhh 6

禁用缓存应该会减少大部分(如果不是全部)临时文件。添加以下参数,如下所示:

'--aggressive-cache-discard',
'--disable-cache',
'--disable-application-cache',
'--disable-offline-load-stale-cache',
'--disable-gpu-shader-disk-cache',
'--media-cache-size=0',
'--disk-cache-size=0',
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望禁用图像和 CSS(请参阅此处)以进一步提高速度并减少临时文件和网络吞吐量。

此外,还有其他标志可能对您的用例有帮助:

'--disable-extensions',
'--disable-component-extensions-with-background-pages',
'--disable-default-apps',
'--mute-audio',
'--no-default-browser-check',
'--autoplay-policy=user-gesture-required',
'--disable-background-timer-throttling',
'--disable-backgrounding-occluded-windows',
'--disable-notifications',
'--disable-background-networking',
'--disable-breakpad',
'--disable-component-update',
'--disable-domain-reliability',
'--disable-sync',
Run Code Online (Sandbox Code Playgroud)

如果您尝试了所有这些,但仍然发现它会生成大量垃圾,您可能需要考虑对您的抓取工具进行 Docker 化。如果您确实选择 Docker 路径,我建议您使用docker-slim,因为它可以显着减小 Docker 映像的大小,而不会产生任何负面影响。