Anansi MCP
Скрейпер для враждебных сайтов чинит сломанные селекторы сам и включает браузер только тогда, когда страница без него пуста.
- 117 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Инструмент подбирает отпечатки TLS и заголовки браузера, чтобы проходить защиту от ботов: сайт может заблокировать IP, а сбор вопреки условиям использования нарушает договор и закон.
- Агент запускает фоновые обходы на сотни страниц, а параметр `proxy` принимает логин и пароль прокси прямо в вызове.
Установка
- Работает в
Ручная установка
pip install "git+https://github.com/mdowis/anansi"Первая команда Install из README ставит ядро. Для браузера дополнительно `playwright install chromium`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструмент подбирает отпечатки TLS и заголовки браузера, чтобы проходить защиту от ботов: сайт может заблокировать IP, а сбор вопреки условиям использования нарушает договор и закон.
- Агент запускает фоновые обходы на сотни страниц, а параметр `proxy` принимает логин и пароль прокси прямо в вызове.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Anansi — скрейпер на Python, который переживает смену верстки. Селекторы CSS получают оценки уверенности: когда один ломается, четыре стратегии исправления соревнуются, и победитель сохраняется. Страница с JS-оболочкой автоматически перезапрашивается в скрытом браузере Playwright, а результат кешируется по домену. Вместе с библиотекой ставится MCP-сервер `anansi-mcp` на FastMCP с 17 инструментами, среди них `fetch_url`, `fetch_and_extract`, `crawl_site`, `export_crawl` и `screenshot_url`. Агент запускает обход фоновой задачей, забирает элементы порциями и выгружает их в JSONL, JSON или CSV. При повторном обходе страницы без изменений пропускаются по ETag, Last-Modified, хешу содержимого и `lastmod` из sitemap.
Для кого. Разработчикам парсеров и аналитикам, которые собирают данные с динамичных сайтов и хотят управлять обходом прямо из Claude Code или Cursor.
Подходит, если
- Верстка целевого сайта меняется раз в несколько недель, и парсер каждый раз ломается.
- Страница отдает пустую JS-оболочку, а данные появляются только после рендера.
- Агент обходит раздел каталога на сотни страниц фоновой задачей и выгружает результат в CSV.
- Повторные обходы одного сайта тратят время на страницы, которые не менялись.
- Команда проверяет, как собственный сайт реагирует на автоматизированные запросы.
Не подходит, если
- Условия использования сайта или `robots.txt` запрещают автоматический сбор данных.
- Нужна разовая выгрузка одной страницы, для которой хватит обычного HTTP-запроса.
- Доступ к данным ограничен, а права на него у вас нет.
- Требуется облачный сервис с поддержкой и гарантиями доступности.
Пример запроса к агенту
Обойди раздел каталога на shop.example.com, достань название, цену и артикул каждого товара и выгрузи в CSV.MCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
Переменные окружения
ANANSI_IMPERSONATE- Цель отпечатка TLS и HTTP/2 для curl-cffi, например chrome124.
ANANSI_BROWSER_ENGINE- Значение patchright включает опциональный стелс-движок браузера.
Ограничения
Базовая установка идет прямо из репозитория GitHub командой `pip`, браузерному режиму нужна отдельная команда `playwright install chromium`. Имитация отпечатка TLS и движок Patchright ставятся дополнительными пакетами. За законность сбора отвечает пользователь: нужно соблюдать условия сайтов, `robots.txt` и законы о компьютерных преступлениях и персональных данных. Функции против ботов рассчитаны на авторизованное тестирование и на контент, к которому есть право доступа. На Windows клиент может не найти `anansi-mcp`, тогда сервер запускают как `python -m anansi.mcp_server.server`.
Как отключить. Удалите запись anansi из конфигурации MCP-клиента и пакет командой `pip uninstall anansi-scraper`. Выученные селекторы и результаты обходов сохраняются на диск, очистите их отдельно.
Частые вопросы
Как подключить Anansi к Claude Code?
Выполните `claude mcp add anansi -- anansi-mcp`. Для Cursor, Windsurf и Claude Desktop команду `anansi-mcp` прописывают в конфигурации клиента. Если на Windows она не находится, укажите `python -m anansi.mcp_server.server`.
Какие инструменты есть у MCP-сервера?
Всего 17. Страницы читают `fetch_url` и `fetch_and_extract`, обходами управляют `crawl_site`, `pause_crawl`, `resume_crawl` и `export_crawl`, селекторы проверяют `selector_health`, `train_selector` и `validate_selector`.
Как получить длинную страницу по частям?
Задайте в `fetch_url` формат `text` или `markdown`, либо параметры `chunk_size` и `chunk_index`. Страница хранится в кеше 5 минут, поэтому следующие части приходят без нового запроса.
Умеет ли Anansi нажимать кнопки на странице?
Да. С `use_browser=true` список `actions` выполняет `click`, `fill`, `press`, `scroll_until_stable` и ожидания. Параметр `capture_network` возвращает JSON-ответы API, которые страница запрашивает при загрузке.
Можно ли использовать функции против ботов на любом сайте?
Нет. Отпечатки TLS, персоны и обработка Cloudflare, Akamai и DataDome рассчитаны на авторизованное тестирование и на контент с правом доступа. Условия сайта и `robots.txt` соблюдаете вы сами.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и CLI для обхода сайтов: небольшая модель выбирает ссылки и абзацы, агент читает только ответ на вопрос.
Плагин сканирует сайты и превращает страницы в Markdown с метаданными: семь скиллов и MCP-сервер с девятью инструментами
Скилл веб-исследования: SearXNG ищет, Camofox читает страницы, CloakBrowser открывает сайты, которые проверяют посетителей
MCP-сервер с поиском DuckDuckGo и извлечением текста страниц: можно передать сразу несколько адресов
Локальный веб-поиск для агентов: ищет, читает страницы и отдает сжатые фрагменты с источниками, экономя токены контекста
Консольный клиент Firecrawl со скиллами для агентов: поиск в сети, скрапинг, обход сайтов, карта URL, взаимодействие со страницами
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Anansi (эта карточка) | нет | не нужна | 117 | |
| Crawl4AI | да | API-ключ | 87 271 | Crawl4AI превращает сайты в Markdown для агентов; Anansi запоминает исправленные селекторы и ведет повторные обходы с пропуском неизменных страниц |
| Firecrawl MCP Server | да | API-ключ | 7 809 | Firecrawl MCP отдает страницы через облачный API Firecrawl; Anansi ставится локально и сам чинит селекторы |
Коротко о README
Библиотека для Python 3.11 и новее с готовым MCP-сервером. Каталог `docs/` описывает установку, возможности, внутреннее устройство, слой идентичности и подключение клиентов.