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