Anansi MCP

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

  • 117 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Широкий доступ

Почему такой уровень

  • Инструмент подбирает отпечатки TLS и заголовки браузера, чтобы проходить защиту от ботов: сайт может заблокировать IP, а сбор вопреки условиям использования нарушает договор и закон.
  • Агент запускает фоновые обходы на сотни страниц, а параметр `proxy` принимает логин и пароль прокси прямо в вызове.
Все причины и проверки

mdowis/anansi

Установка

Ручная установка

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 для обхода сайтов: небольшая модель выбирает ссылки и абзацы, агент читает только ответ на вопрос.

MCP-серверРасширенный доступ89Звезды репозитория

Плагин сканирует сайты и превращает страницы в Markdown с метаданными: семь скиллов и MCP-сервер с девятью инструментами

ПлагинШирокий доступ196Звезды репозитория

Скилл веб-исследования: SearXNG ищет, Camofox читает страницы, CloakBrowser открывает сайты, которые проверяют посетителей

СкиллШирокий доступ546Звезды репозитория

MCP-сервер с поиском DuckDuckGo и извлечением текста страниц: можно передать сразу несколько адресов

MCP-серверРасширенный доступ151Звезды репозитория

Локальный веб-поиск для агентов: ищет, читает страницы и отдает сжатые фрагменты с источниками, экономя токены контекста

MCP-серверРасширенный доступ236Звезды репозитория
Выбор редакции

Консольный клиент Firecrawl со скиллами для агентов: поиск в сети, скрапинг, обход сайтов, карта URL, взаимодействие со страницами

CLIРасширенный доступ684Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Anansi (эта карточка)нетне нужна117
Crawl4AIдаAPI-ключ87 271Crawl4AI превращает сайты в Markdown для агентов; Anansi запоминает исправленные селекторы и ведет повторные обходы с пропуском неизменных страниц
Firecrawl MCP ServerдаAPI-ключ7 809Firecrawl MCP отдает страницы через облачный API Firecrawl; Anansi ставится локально и сам чинит селекторы

Коротко о README

Библиотека для Python 3.11 и новее с готовым MCP-сервером. Каталог `docs/` описывает установку, возможности, внутреннее устройство, слой идентичности и подключение клиентов.

Бейдж для README

Сообщить о проблеме