gpt4 book ai didi

javascript - 使用 Puppeteer 进行并发页面抓取

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:50 24 4
gpt4 key购买 nike

我怎样才能制作puppeteer跟踪新页面实例中的多个链接,以并发和异步方式评估它们?

最佳答案

Mareks 解决方案适用于几个页面,但如果您想同时抓取大量页面,我建议查看我的库 puppeteer-cluster .

它并行运行任务(如 Mareks 解决方案),但也负责错误处理、重试和其他一些事情。您可以在下面看到一个最小的示例。也可以在更复杂的设置中使用该库。

const { Cluster } = require('puppeteer-cluster');

(async () => {
const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT, // use one browser per worker
maxConcurrency: 4, // cluster with four workers
});

// Define a task to be executed for your data
await cluster.task(async ({ page, data: url }) => {
await page.goto(url);
const screen = await page.screenshot();
// ...
});

// Queue URLs
cluster.queue('http://www.google.com/');
cluster.queue('http://www.wikipedia.org/');
// ...

// Wait for cluster to idle and close it
await cluster.idle();
await cluster.close();
})();

关于javascript - 使用 Puppeteer 进行并发页面抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com