Crawlee: Создание надежных веб-краулеров и средств автоматизации браузеров с помощью Node.js

Общее введение

Crawlee - это библиотека автоматизации веб-краулеров и браузеров с открытым исходным кодом, разработанная компанией Apify и предназначенная для среды Node.js. Она поддерживает JavaScript и TypeScript и работает с такими инструментами, как Puppeteer, Playwright, Cheerio, JSDOM и другими, предоставляя мощные возможности для сбора данных и автоматизации. Crawlee позволяет пользователям создавать надежные краулеры, которые извлекают данные, необходимые для AI, LLM, RAG или GPT, и загружать HTML, PDF, JPG, PNG и многое другое. Разработанный для того, чтобы сделать краулеры более похожими на человеческие операции, он способен обходить современные механизмы защиты от краулеров, поддерживает ротацию агентов и управление сеансами и подходит для различных сложных задач веб-краулинга.

Crawlee для Python открыт для ранних последователей!

Crawlee:使用Node.js构建可靠的网络爬虫和浏览器自动化工具

 

Список функций

  • Единый интерфейс для HTTP и безголового браузерного краулинга
  • Постоянные очереди для просмотра URL-адресов (в широком и глубоком смысле)
  • Подключаемое хранилище данных и файлов
  • Автоматическое масштабирование в зависимости от ресурсов системы
  • Интегрированная ротация агентов и управление сеансами
  • Жизненный цикл может быть настроен с помощью крючков
  • CLI-инструмент для загрузки проектов
  • Настраиваемые механизмы маршрутизации, обработки ошибок и повторных попыток
  • Предоставление Docker-файлов для развертывания
  • Написан на TypeScript с поддержкой общих функций
  • Поддержка HTTP2 и автоматическая генерация заголовков запросов в стиле браузера
  • Встроенный быстрый парсер HTML (Cheerio и JSDOM)
  • Поддержка JSON API Crawl
  • Рендеринг JavaScript и поддержка скриншотов
  • Поддержка режимов Headless и Headed
  • Автоматическое создание отпечатков пальцев в человеческом стиле
  • Унифицированный интерфейс с использованием Playwright и Puppeteer
  • Поддерживает Chrome, Firefox, Webkit и др.

 

Использование помощи

монтаж

Для работы Crawlee требуется Node.js 16 или выше. Вы можете быстро установить и создать пример краулера с помощью следующей команды:

npx crawlee create my-crawler
cd my-crawler
npm start

Если вы предпочитаете устанавливать вручную, можно воспользоваться следующей командой:

npm install crawlee playwright

Затем импортируйте и используйте его в своем проекте:

import { PlaywrightCrawler, Dataset } from 'crawlee';
const crawler = new PlaywrightCrawler({
async requestHandler({ request, page, enqueueLinks, log }) {
const title = await page.title();
log.info(`Title of ${request.loadedUrl} is '${title}'`);
await Dataset.pushData({ title, url: request.loadedUrl });
await enqueueLinks();
},
// headless: false, // Uncomment to see the browser window
});
await crawler.run(['https://crawlee.dev']);

Функции Поток операций

  1. Создание проекта Crawler: Быстрое создание нового проекта краулера с помощью Crawlee CLI, который устанавливает все необходимые зависимости и добавляет примеры кода.
  2. Настройка кроулера: Настройте в проекте логику обработки запросов краулера, место хранения данных, параметры прокси и т. д.
  3. Запуск краулера: Запустите краулер из командной строки, и Crawlee автоматически обработает запрос, получит данные и сохранит результаты.
  4. хранение данных: По умолчанию Crawlee хранит данные в текущем рабочем каталоге в ./storage папку, но эта директория может быть переопределена конфигурационным файлом.
  5. Расширенная функциональность: Добавьте пользовательские крючки, механизмы обработки ошибок и политики повторных попыток, если это необходимо для обеспечения стабильности и надежности краулера.

Управление прокси и сеансами

Crawlee интегрирует ротацию прокси и управление сессиями, чтобы гарантировать, что краулер не будет заблокирован целевым веб-сайтом во время процесса краулинга. Список прокси и параметры сеанса могут быть заданы через конфигурационный файл для автоматической ротации и управления.

развертывания

Crawlee предоставляет Docker-файлы для простого развертывания краулеров в облаке или других средах. Контейнеры Docker могут быть созданы и запущены с помощью следующих команд:

docker build -t my-crawler .
docker run my-crawler
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...