import { Actor } from 'apify';
import { PuppeteerCrawler } from 'crawlee';
import { router } from './routes.js';
await Actor.init();
const startUrls = ['https://example.com'];
const proxyConfiguration = await Actor.createProxyConfiguration();
const crawler = new PuppeteerCrawler({
proxyConfiguration,
requestHandler: router,
maxConcurrency: 1,
preNavigationHooks: [
async ({page}) => {
const storedCookies = await Actor.getValue("cookies");
if (storedCookies) {
await page.setCookie(...storedCookies);
}
}
]
});
await crawler.run(startUrls);
await Actor.exit();
import { createPuppeteerRouter, utils } from 'crawlee';
export const router = createPuppeteerRouter();
router.addDefaultHandler(async ({ page, log, crawler }) => {
crawler.autoscaledPool.maxConcurrency = 4;
await crawler.addRequests([
{ url: 'https://example.com/1', label: "OTHER" },
{ url: 'https://example.com/2', label: "OTHER" },
{ url: 'https://example.com/3', label: "OTHER" },
{ url: 'https://example.com/4', label: "OTHER" },
{ url: 'https://example.com/5', label: "OTHER" },
]);
});
router.addHandler('OTHER', async ({ page, log, crawler }) => {
console.log(`My cookies are`, await page.cookies());
});