Trawl: самузловая система для обхода JS челенджей и капч
Trawl — самузловая система для веб-скрейпинга, способная обходить различные JS челенджи и капчи, такие как Cloudflare и reCAPTCHA. В отличие от альтернатив вроде FlareSolverr, Trawl обещает улучшенную скорость и надежность, а также возможность интеграции с экосистемой *arr.
Проект решает задачи автоматического скрейпинга, что особенно важно для разработчиков, которым необходимо извлекать информацию с сайтов с защитой от ботов. В Trawl реализованы продвинутые механизмы, такие как интуитивные потоки для разных WAF, кэширование сессий и нативное решение капч, что позволяет существенно снизить количество неудачно выполненных запросов.
Запустить Trawl можно через Docker, что просто для локальной среды. Лицензия не ограничивает коммерческое использование, но стоит помнить, что качество работы может зависеть от конкретного сайта, и необходимость в настройках может варьироваться.
Общая информация
Проект TRAWL — это самостоятелйный движок для веб-скрапинга, который предлагает эффективные методы решения JavaScript-задач и CAPTCHA. Он имеет специализированные потоки для обхода систем защиты, таких как Cloudflare, Akamai Bot Manager и Imperva, и поддерживает различные виды CAPTCHA: reCAPTCHA, hCaptcha и другие. TRAWL является более быстрым и надежным аналогом FlareSolverr и Byparr и может быть использован в связке с другими инструментами из стека \*arr.
Особенности
- Увеличенная скорость: в 2-6 раз быстрее, чем FlareSolverr или Byparr.
- Многоуровневая экосистема: поддерживает четыре уровня выполнения: обычный HTTP-запрос, кэшированная сессия браузера, решение задач и использование резидентного прокси.
- Обработка нескольких WAF: специализированные потоки для Cloudflare, Akamai и Imperva.
- Решение CAPTCHA: встраивает решения для популярных CAPTCHA без необходимости использования платных API.
- Совместимость: работает с такими инструментами, как Prowlarr, Jackett и другими из экосистемы \*arr.
Быстрый старт
Чтобы установить и запустить TRAWL, следуй этим шагам:
# Клонируй и настрой
git clone https://github.com/germondai/trawl
cd trawl
cp .env.example .env
# Запусти скриптер и Redis
docker compose up -d
# Проверь, что всё работает
curl http://localhost:8191/health
Первый запуск может занять 15-30 секунд, так как происходит предварительная инициализация пула браузеров. Повторные запуски идут быстрее.
Также доступна установка через сообщество приложений для TrueNAS и Unraid.
API и интеграция
TRAWL предоставляет API, совместимый с FlareSolverr, что позволяет использовать стандартные команды для обработки запросов:
curl -X POST http://localhost:8191/v1 \
-H 'Content-Type: application/json' \
-d '{"cmd":"request.get","url":"https://nowsecure.nl","maxTimeout":60000}'
Кроме того, TRAWL поддерживает расширенные API, которые возвращают более полную метаинформацию о запросах. Для интеграции с Prowlarr и Jackett необходимо настроить URL FlareSolverr.
Требования и ограничения
TRAWL предполагает использование Docker, и для его работы требуется поддержка современного стека технологий. На старом оборудовании могут возникнуть проблемы, поскольку проект ориентирован на современные версии ядра Linux. Для некоторых систем доступна "базовая" версия, которая работает на старых ядрах.
Быть осторожным с использованием проксей типа MITM (Man-in-the-Middle): такие прокси могут подменять сертификаты, что требует дополнительных настроек доверия у клиентов.
Лицензия
Проект распространяется под лицензией AGPL-3.0, что означает, что ты можешь использовать его, модифицировать и распространять, соблюдая условия лицензии.
Открыть на GitHub: germondai/trawl →
RepoRadar