К содержанию
SemCue

Gertner Data · инструменты для автоматизации

Данные из сайтов и PDF.С источником и историей.

Для автоматизации нужны записи, которые можно передать дальше: в таблицу, каталог, поиск или следующий шаг сценария. Мы собрали семейство инструментов Gertner Data: они читают карты сайтов, таблицы из PDF и доски вакансий, сохраняют источник и отделяют изменения от сбоев чтения.

Опубликовано · продукты доступны в Apify Store; публичные страницы проверены 19 октября 2026

Схема работы продукта

Карта сайта
Таблица PDF
Доска вакансий
Gertner DataПрочитать. Проверить. Сравнить.

Источник · полнота · изменения · ошибки

JSON / CSVЗаписи и снимок для следующего шага

Сценарию нужны записи, с которыми можно работать

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

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

  • Sitemap Diff

    Что поменялось на сайте

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

  • PDF Tables

    Таблица вместе с ее источником

    Строки выгружаются в JSON и CSV со страницей, номером таблицы и идентификатором документа.

  • Job Feed Delta

    Как меняется список вакансий

    Новые вакансии, изменения полей и подтвержденное отсутствие в Greenhouse, Lever и Ashby приводятся к общей схеме.

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

Представим, что сайт работодателя не ответил. Наивный монитор видит пустой список и объявляет все вакансии закрытыми. После восстановления сайта он создаст столько же «новых» вакансий. Получатель увидит шум вместо событий.

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

Если из достаточно большой доски внезапно исчезает основная часть вакансий, отдельная защита останавливает массовое удаление. Такой результат требует проверки источника.

Схема работы продукта

  1. Снимок сохраненВакансия есть в источнике
    Исходное состояние
  2. Источник не ответилПрежний снимок сохранен
    Закрытий нет
  3. Успешное чтениеВакансия отсутствует впервые
    Ждем подтверждения
  4. Повторное чтениеВакансия отсутствует снова
    Событие CLOSED
Схема воспроизводит результат локального прогона настоящей функции сравнения на выдуманной вакансии. Внешние сервисы не вызывались.

Неполный обход не считается удалением страниц

Та же проблема возникает с картой сайта. Вложенная карта может временно не открыться, а лимит обхода — закончиться раньше последнего файла. Это не доказательство удаления страниц.

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

Изменение метаданных в sitemap не доказывает изменение текста страницы. Для содержимого страницы нужен отдельный обход.

Из каждой строки можно вернуться в PDF

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

Числоподобные значения остаются строками. Так артикул с нулем в начале не превращается в другое число, а локальный разделитель не меняет сумму. При экспорте в CSV значения, похожие на формулы, экранируются для таблиц.

Этот инструмент читает текстовый слой PDF. Скан без текста получает явный статус; распознавание изображения в этот продукт не входит.

Сбой виден в результате, ограничения задаются заранее

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

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

Что подтверждено в этом кейсе
  • Публичные страницы Sitemap Diff, PDF Tables to Records и Job Feed Delta доступны в Apify Store.
  • Сохранение состояния при таймауте и закрытие после повторного наблюдения воспроизведены локально на функции рабочего продукта.
  • Схемы показывают механизм. Показатели выручки и экономии времени пользователей в кейсе не заявлены.

Как это делалось

От разового парсинга к повторяемому процессу

Мы разделили чтение источника, нормализацию и сравнение состояний. Благодаря этому ошибки сети не подменяют бизнес-события, а внешнему сценарию доступен снимок для следующего запуска.

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

Для технических читателей

Для технических читателей

Исполнение
Python и Node.js; отдельные контексты продуктов в Apify.
Состояние
Снимок передается явно. Сравнение вакансий работает как отдельная функция без сетевых запросов.
Происхождение
Для PDF: хеш содержимого, страница, таблица, строка; для изменений — снимки и время наблюдения.
Границы
Публичные HTTP(S)-источники, проверка адресов, лимиты чтения и структурированные ошибки.

Откуда цифры

Откуда сведения

Следующая система

ИИ-оператор продаж →

SemCue / Обсудим задачу

Что вы хотите изменить?

Расскажите о проекте и задаче. Даже если пока есть только идея.

Напишите нам в Telegram

Обсудим цель, текущую ситуацию и подходящий следующий шаг.

Обсудить проект в Telegram
В разработкеСайт ещё дорабатывается: что-то может меняться.