АГЕНТ 03 / 07
Извлечение
Воркер извлечения превращает страницы, документы и данные браузера в структурированные данные — контакты при необходимости или чистые входы для любого следующего процесса.
extracting · autonomous
01Что делает
Необработанные источники на входе, структурированные результаты на выходе
Всё за один проход
Email, телефоны, соцсети, персоны и компании из текста, HTML или URL — каждый элемент с оценкой достоверности (0.0–1.0) и меткой источника: text, mailto link, tel link, html:alt.
Обход анти-скрапинга
«name [at] domain [dot] com», (at), {at}, HTML-сущности @ / . и даже словесные формы вроде «bob at acme dot com» восстанавливаются в реальные адреса — с достоверностью 0.70 против 0.95 для обычных.
Декодирование сайтов компаний
Загружает главную страницу, находит страницы контактов / команды / о нас по подсказкам путей, читает Schema.org JSON-LD (название организации, описание, размер) и собирает карточки сотрудников.
Быстрый структурный парсинг
Извлечение по CSS-селекторам в пяти режимах — тексты, html, attr, ссылки, таблицы. Тот же парсер преобразует страницы, экспорты и документы в структурированные входные данные для последующих воркеров.
Структурированные входные данные API
Dot-path запросы к JSON: data.items.0.name для глубокого доступа, results[*].email для перебора всех элементов. Ответы REST и экспорты становятся входными данными для любого воркера.
Контакты внутри изображений
Vision-модель распознаёт скриншоты, баннеры и рендеренные изображения; также сканируются атрибуты img alt/title. Email-адреса, скрытые от обычных текстовых парсеров, всё равно извлекаются.
02Как это работает
Шесть проходов по каждому источнику
Приём
Текст, HTML или URL. Запросы выполняются за защитой от SSRF с проверкой редиректов на каждом шаге; документ парсится один раз и переиспользуется всеми экстракторами.
Добыча
Детерминированные проходы regex охватывают видимый текст, ссылки mailto:/tel:, атрибуты alt/title и исходную разметку — включая блоки JSON-LD.
Деобфускация
Токены [at]/(at)/{at}/@ и словесные формы адресов восстанавливаются; файловые TLD вроде .png и .woff2 отсеиваются как ложные email.
Нормализация
Телефоны приводятся к E.164 через libphonenumber с фолбэком по региону; соцсети индексируются по платформе + хендлу. Дубликаты удаляются — остаётся вариант с наибольшей уверенностью.
Сущности
Опциональный проход LLM возвращает строгий JSON при температуре 0.0 с защитой от инъекций. Детерминированные селекторы применяются первыми, если страница содержит узнаваемые карточки.
Выдача
Структурированные контакты с уверенностью и происхождением передаются далее — и среда выполнения автоматически сохраняет их в БД контактов до перехода модели к следующему шагу.
03Под капотом
Регулярные выражения, пороги и оценка достоверности
| Шкала уверенности email | mailto-ссылка 0.98 · обычный текст 0.95 · сырой HTML/JSON-LD 0.90 · обфусцированный 0.70 |
| Правдоподобность email | локальная часть ≤ 64 симв., всего ≤ 254, ассетные TLD отклоняются (png, jpg, svg, woff2, mp4, pdf…) |
| Формы обфускации | [at] (at) {at} @ и [dot] (dot) {.} . · формы слов требуют пробелов, поэтому текст вроде «look at this» не совпадает |
| Кандидаты телефонов | 7–15 цифр · даты, IP и круглые числа отклоняются · E.164 через libphonenumber · регионы проверяются RU → US → DE → GB |
| Уверенность телефона | +-префикс валидный 0.9 · локальный валидный 0.8 · ссылка tel: 0.98 · невалидный парсинг 0.35 |
| Соцпрофили | LinkedIn, X/Twitter, Instagram, Telegram, Facebook · зарезервированные пути отфильтрованы · @хендлы читаются в окне контекста ±60 символов |
| Прогон сущностей через LLM | Лимит ввода 12 000 символов · температура 0.0 · строгий JSON с допустимыми блоками кода · защита от prompt-injection на недоверенном веб-тексте |
| Обнаружение команды | 14 селекторов карточек (.team-member, [class*="person-card"], [class*="team"] li…) · имена ≤ 6 слов и ≥ 70% букв |
| Ограничения | parse_html ограничивает каждый вызов 500 элементами; селекторы и структура вывода остаются явными для предсказуемой передачи данных |
04Инструменты
Набор инструментов извлечения
Работает на флот воркеров
Извлечение — топливо аутрича
Каждое извлечённое значение снабжается оценкой достоверности и источником, чтобы последующие воркеры знали, чему доверять, а что проверять. Среда выполнения автосохраняет результаты сразу после возврата инструментом извлечения — ничего не теряется при завершении сессии. Другие воркеры могут валидировать, записывать или использовать тот же структурированный вывод.
extract_contacts(url: "https://acme.io/team")
→ emails: [email protected] 0.98 mailto link
→ phones: +74957107580 0.90 RU · E.164
→ socials: linkedin.com/in/ann 0.9
→ persons: Ann Petrova — CTO @ Acme
[auto-persisted 4 contact(s): 4 new, 0 merged]
# → Structuring dedups into one record
# → Cleaning verifies quality and confidence
# → Operations prepares the next governed action