Crawlee: современный краулер для Node.js и Python

Crawlee — open-source библиотека краулинга от команды Apify: очереди, браузеры, ретраи. Когда брать Crawlee вместо «голого» Playwright.

← Все статьи

crawlee

Crawlee — open-source библиотека краулинга (JS/TS и Python): очередь URL, ретраи, сессии, Cheerio и Playwright/Puppeteer. «Scrapy-подобная» дисциплина для JS-экосистемы и фундамент акторов на Apify. Только HTML — Cheerio; только клики — Playwright.

crawlee

Кратко

  • Crawlee: оркестрация краула — очередь, concurrency, ошибки.
  • Переключается между HTTP+Cheerio и браузерными краулерами.
  • Деплой у себя, без обязательного облака.
  • Кривая обучения выше no-code, ниже «очередь с нуля».
  • Не легализует сбор вопреки ToS/ПДн.
crawlee

Инфографика: очередь запросов → Cheerio и/или Playwright → единое хранилище результатов.

Типовые задачи

ЗадачаПодходСложностьКогда не подходит
Статичный каталогCheerioCrawlerНизкая–средняяРазовая выгрузка 30 строк
Смешанный статичный+SPAДва crawler’а / routingСредняяНет Node/TS в команде
Прод-пайплайн на своём VPSCrawlee + queue storageСредняяНужен только Store без кода
Упаковка в Apify ActorТот же код + Apify SDKСредняя

Пример кода: CheerioCrawler

import { CheerioCrawler } from "crawlee";

const crawler = new CheerioCrawler({
  maxRequestsPerCrawl: 50,
  async requestHandler({ request, $, enqueueLinks, log }) {
    log.info(`Parsing ${request.url}`);
    const title = $("h1").first().text().trim();
    const price = $(".price").first().text().trim();
    await crawler.pushData({ url: request.url, title, price });

    await enqueueLinks({ selector: "a.product-link" });
  },
});

await crawler.run(["https://example.com/catalog"]);

Когда брать Crawlee

  1. Команда на Node/TS (или Python-ветке) строит долгий пайплайн.
  2. Нужны и статичные, и JS-страницы в одном проекте.
  3. Хотите свой деплой, но не изобретать ретраи/очередь.
  4. Планируете упаковать код как Apify Actor.
  5. Объём выше «скрипта на вечер».

Сравнение

КритерийCrawleeScrapyApify
ТипБиблиотекаФреймворкПлатформа
ЯзыкJS/TS, PythonPythonActors + UI
БраузерPlaywright/PuppeteerЧерез плагиныВ облаке
ХостингВашВашApify cloud

Когда не подходит

Разовая выгрузка в Excel — Cheerio/BS4 или Octoparse. Только Python HTTP-краул — Scrapy. Без разработчика — no-code или услуга.

FAQ

Crawlee бесплатный?

Да, open-source. Платите за infra или compute на Apify.

Crawlee vs Playwright?

Playwright — браузер; Crawlee — каркас краула, который может вызывать Playwright.

Нужен ли Apify?

Нет. Apify — удобный облачный рантайм; Crawlee работает сам.

Продакшен под ключ: парсинг сайтов, парсинг магазина. Серия: Apify, Scrapy, Playwright.