SDK > crawlee-proxyport

crawlee-proxyport

crawlee-proxyport Node.js TypeScript package provides easy way to use rotating proxy for Crawlee scraping framework.

npmjs.com/package/crawlee-proxyport - page on npmjs.com

github.com/proxyport/crawlee-proxyport - source code on github

Prerequisites

Get API Key

Installation

$ npm i crawlee-proxyport

            

Getting Started

Before you get your first proxy, you need to assign an API Key.

import { CheerioCrawler, ProxyConfiguration } from 'crawlee';
import { ProxyProvider } from 'crawlee-proxyport';

const startUrls = ['https://example.com'];

const crawler: CheerioCrawler = new CheerioCrawler({
    useSessionPool: true,
    persistCookiesPerSession: true,
    proxyConfiguration: new ProxyConfiguration({
        newUrlFunction: (sId) => proxyProvider.newUrlFunction(sId)
    }),
    maxRequestRetries: 20,
    sessionPoolOptions:{
        sessionOptions: {
            // you may want to play with this number, we recommend to use value between 10 and 50
            maxUsageCount: 20,
        },
    },
    async requestHandler({ request, $, log }) {
        const title = $('title').text();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
    },
});

const proxyProvider = new ProxyProvider(<API_KEY>, crawler);

await crawler.run(startUrls);