Данные о ценах на древесину в Европе формально публичны, но на практике непригодны для использования. Одна страна указывает цены на дуб в евро за кубический метр без учета налогов. Соседнее государство публикует цены на бук в национальной валюте с учетом налогов, пряча их в отсканированном PDF без слоя распознавания текста. Ситуацию усложняет то, что лес на корню, бревна у дороги и отдельные аукционные лоты часто котируются рядом, будто это одинаковые продукты.
Сырые данные есть. Аналитики рынка нет.
Компания KORENA запустила KORENA Timber Index, чтобы это исправить. В результате получился ежедневный бесплатный справочник цен на европейскую лиственную древесину, пиломатериалы и слэбы. По состоянию на середину 2026 года индекс отслеживает около двух десятков пород и 170 региональных ценовых позиций в десяти странах (Румыния, Германия, Болгария, Польша, Франция, Австрия, Италия, Финляндия, Норвегия, Швеция), плюс уровень общеевропейского маркетплейса.
Чтобы инженерная команда из двух человек могла охватить такой объем, KORENA нужно было решить один базовый вопрос: кто отвечает за работу с вебом. Они выбрали FourA и направили через сервис абсолютно весь трафик.
Единый шлюз в веб
На раннем этапе KORENA приняла архитектурное решение: каждый внешний веб-request идет через FourA. Команда отказалась от разрозненных скраперов, разовых скриптов и самодельных команд, спрятанных в кодовой базе.
Дело было не в удобстве, а в единообразии. Лесохозяйственные порталы ведут себя непредсказуемо. Некоторые представляют собой статические HTML страницы. Другие являются современными аукционными платформами, которые отображают данные только после рендеринга в браузере. Государственные сайты часто работают медленно, используют устаревшие технологии или имеют жесткую защиту.
Благодаря маршрутизации всего трафика через инфраструктуру обработки request в FourA, KORENA одинаково управляет повторными попытками, backoff, логированием и оповещениями для каждого источника. Каждый полученный документ можно хешировать, сохранять и сопоставлять с итоговой ценой для аудита.
Выбор стратегии сбора данных для каждого источника
Вместо жестко закодированной логики сбора данных под каждый сайт KORENA сопоставляет каждый источник данных с конкретным endpoint FourA прямо в базе данных (см. выбор правильного типа задачи для подробного обзора). Команда может менять стратегии без изменения основного кода парсинга:
Single (
/single/): статические HTML страницы, XML фиды и прямые загрузки PDF. Статистические отчеты Германии, обновления государственных лесных хозяйств Болгарии, румынские таблицы цен. Быстро, легковесно, оптимальный вариант по умолчанию для большинства сайтов.Browser (
/browser/): интерактивные веб-приложения, которым нужен контекст реального браузера. Польская аукционная платформа e-Drewno требует рендеринга до появления цифр. Исходный HTML не содержит полезных данных.Proxy Finder (
/proxy/): резервный вариант для самых сложных целей. Усиленная ротация, плюсunblocker: trueдля проверок на уровне handshake.
Поскольку это настройка для каждого отдельного источника, а не жестко закодированный скрипт, KORENA может перевести источник из Single в Browser или Proxy Finder, когда сайт меняет защиту. Слой парсинга этого даже не замечает.
Сканированные PDF: самая сложная часть
Современные веб-API интуитивно понятны. Сложнее всего автоматизировать PDF, состоящие только из изображений. Прайс-листы и результаты аукционов, опубликованные в виде сканов, вообще не содержат текстового слоя. Для человека это просто неудобно. Для ежедневного индекса это остановка всего пайплайна.
Пайплайн KORENA обрабатывает их с помощью четкого разделения задач:
Получение данных: FourA надежно и ежедневно скачивает необработанные байты PDF.
Оценка текста: KORENA проверяет файл на наличие пригодного для использования встроенного текстового слоя.
Обработка и извлечение: если PDF представляет собой плоское изображение, KORENA растеризует страницы и прогоняет их через OCR и извлечение документов на базе ИИ, применяя специальные языковые подсказки и словари пород, чтобы распознать местную лесохозяйственную терминологию.
Валидация схемы: выходные данные проверяются по той же схеме, что и для любого другого источника.
Ничего из этого не сработает, если нельзя стабильно получать документ каждый день. Этот шаг берет на себя FourA.
Получение данных против их анализа: четкое разделение
Задача FourA заключается в надежной доставке необработанных байтов. Сервису не нужно ничего знать о древесине. Это позволяет KORENA на 100% сосредоточиться на своей профильной задаче: превращении неструктурированных данных в стандартизированный индекс. Вся предметная логика остается внутри KORENA. HTML парсится локально, цифровые PDF читаются с помощью pdfjs-dist, а сканированные PDF обрабатываются через OCR.
Этап нормализации превращает разрозненные цифры в индекс. Цена леса на корню отличается от цены пиловочника, а результат местного аукциона с учетом НДС нельзя напрямую сопоставить с экспортной ценой без НДС. Чтобы превратить исходные цифры в сопоставимую рыночную аналитику, KORENA приводит все данные к единому стандарту: евро за кубический метр, без НДС, эквивалент с доставкой.
Для точного расчета система учитывает:
- Ежедневные курсы валют Европейского центрального банка.
- Местные правила расчета НДС по странам.
- Транспортные коэффициенты в зависимости от стадии переработки древесины.
Индекс также разграничивает разные сегменты рынка. Оптовый круглый лес, аукционы ценных пород древесины и розничные объявления отображаются как отдельные категории и никогда не смешиваются. Премиальный аукционный лот не искажает базовые показатели.
Суть именно в разделении: FourA решает проблему доступа к веб-данным, а KORENA занимается спецификой древесины. Ни одна из систем не превращается в черный ящик, от которого зависит другая.
Почему прозрачность цен на древесину стала критически важной
Более строгие европейские нормы, включая Регламент ЕС по борьбе с обезлесением (EUDR), подталкивают рынок древесины к полной прозрачности цепочек поставок и чистоте документации по закупкам. Прозрачность ценообразования составляет вторую половину этого уравнения. Лесозаготовителям, сравнивающим региональные цены, покупателям, проверяющим котировки, и цифровым маркетплейсам, рассчитывающим базовые ставки, необходимы ежедневные локализованные сопоставимые данные. Не устаревшие годовые средние значения. Не разовые локальные цифры.
Небольшая инженерная команда из двух человек не могла позволить себе тратить время на управление proxy-инфраструктурой, парком браузеров и исправлениями под отдельные сайты, чтобы охватить десять стран и сотни непредсказуемых веб-форматов (см. скрытые затраты на поддержку собственных скраперов с подробными расчетами). FourA берет на себя уровень обработки request. KORENA освобождает время, чтобы сосредоточиться на нормализации пород, настройке OCR, логике ценообразования и журналах аудита, то есть на работе, которую могут выполнить только они.
Раньше ежедневные цены на древесину узнавали по звонку региональному брокеру. Теперь любой может самостоятельно построить график на timber-index.korena.eu. У следующих десяти подобных продуктов не будет времени создавать уровень сбора данных с нуля. Именно на это мы и делаем ставку.
Создаете продукт на основе публичных веб-данных и устали поддерживать собственные скраперы и proxy-инфраструктуру? Начните работу с FourA.