欧洲木材定价数据在技术上是公开的,但在实际中几乎无法使用。一个国家以欧元每立方米(不含税)列出橡木价格。邻国则以包含税费的本国货币公布山毛榉价格,且深埋在没有可搜索文本层的扫描版 PDF 中。更糟糕的是,立木、路边原木和特定拍卖批次常常被并列报价,仿佛它们是完全相同的产品。
原始数据确实存在,但市场情报并不存在。
KORENA 推出了 KORENA 木材指数 来解决这个问题。最终的成果是一个每日更新且可免费获取的欧洲硬木、木材和板材价格参考基准。截至 2026 年中,该指数追踪了 10 个国家(罗马尼亚、德国、保加利亚、波兰、法国、奥地利、意大利、芬兰、挪威、瑞典)的大约 24 个树种和 170 条区域价格序列,外加一个全欧盟市场层级。
对于一个仅有两人的工程团队而言,要覆盖如此广泛的范围,KORENA 必须先解决一个核心决策:由谁来处理网络数据抓取。他们选择了 FourA,并将所有流量都接入其中。
统一的网络网关
KORENA 在早期就做出了一个架构选择:所有外部 Web 请求全部经由 FourA 发送。他们清除了代码库中分散的爬虫、临时脚本和自定义命令。
这不仅是为了便利,更是为了保证一致性。林业门户网站的表现难以预测。有些是静态 HTML 页面。有些是现代拍卖平台,只有在浏览器渲染后才会展示数据。政府网站通常速度缓慢、系统陈旧或受到严密防护。
通过将所有流量路由到 FourA 的请求基础设施,KORENA 能够以统一的方式处理所有数据源的重试、退避、日志记录和告警。并且抓取到的每个文档都可以计算哈希、存储并回溯至最终价格,以供审计。
为每个数据源选择合适的抓取策略
KORENA 没有为每个站点硬编码抓取逻辑,而是直接在数据库中将每个数据源映射到特定的 FourA 端点(完整解析参见 选择正确的任务类型)。他们无需修改核心解析代码即可切换策略:
Single (
/single/):静态 HTML 页面、XML 数据源和直接 PDF 下载。包括德国统计报告、保加利亚国家林业动态、罗马尼亚价格表。快速、轻量,是绝大多数站点的理想默认选择。Browser (
/browser/):需要真实浏览器上下文的交互式 Web 应用。波兰的 e-Drewno 拍卖平台需要先完成渲染才会显示数据,初始 HTML 中没有任何有效内容。Proxy Finder (
/proxy/):针对最复杂目标的后备方案。提供更强力的轮换,以及用于 握手级检查 的unblocker: true。
因为这是针对每个数据源的独立配置,而非硬编码脚本,当目标站点调整防护策略时,KORENA 可以直接将该源从 Single 切换至 Browser 或 Proxy Finder。解析层对此完全无感。
扫描版 PDF:最棘手的部分
现代 Web API 的处理相对直接。最难自动化的场景是纯图片 PDF。价格表和拍卖结果以扫描件形式发布,完全没有文本层。对人工而言这很繁琐,但对每日更新的指数系统来说,这会直接中断流水线。
KORENA 的流水线通过明确的分工来处理这些文件:
获取:FourA 每日稳定下载原始 PDF 字节流。
文本评估:KORENA 检查文件中是否存在可用的原生文本层。
处理与提取:如果 PDF 是纯图片,KORENA 会将页面光栅化,并通过 OCR 和 AI 文档提取管道进行处理,同时应用自定义语言提示和树种词典,以准确识别本地林业术语。
Schema 校验:输出数据会根据与其他所有数据源相同的 Schema 进行校验。
如果无法每天稳定获取文档,后续的所有处理都无从谈起。这正是 FourA 负责的核心环节。
数据获取与业务解析:彻底解耦
FourA 的职责是稳定交付原始字节流,它无需理解任何木材领域的业务逻辑。这让 KORENA 能够全力专注于其核心能力:将混乱的数据转化为标准化指数。所有业务特定逻辑均由 KORENA 本地处理。HTML 在本地完成解析,数字版 PDF 通过 pdfjs-dist 读取,扫描版 PDF 则通过 OCR 处理。
标准化步骤是将原始数值转化为指数的关键。立木价格不等于锯材原木价格,含增值税的本地拍卖结果也无法直接与不含增值税的出口报价进行对比。为了将原始数据转化为具有可比性的市场情报,KORENA 将所有数据统一转换为单一标准:欧元/立方米,不含增值税,到货等效价。
为确保转换精度,系统综合考虑了以下因素:
- 每日 欧洲央行(ECB)汇率。
- 各国本地化的增值税规则。
- 基于木材加工阶段的运输系数。
该指数还严格隔离了不同层级的市场。大宗原木、高价值木材拍卖和零售挂牌均作为独立类别展示,绝不混淆。高溢价的拍卖批次不会干扰基准数据。
这种解耦正是架构的核心:FourA 解决网络访问问题,KORENA 解决木材业务逻辑。两者各自独立,互不构成黑盒依赖。
为何木材价格透明度突然变得至关重要
包括 欧盟零毁林法案 (EUDR) 在内的更严格欧洲法规,正在推动木材市场实现全面可追溯性并提供更清晰的采购来源文档。价格透明度是该等式的另一半。比较区域价值的木材种植者、验证报价的买家以及设定基准费率的数字交易平台,都需要每日、本地化且可比的数据。不是过时的年度平均值,也不是孤立的单次本地数据。
对于一个仅有两人的精简工程团队来说,要覆盖十个国家和数百种不可预测的网页格式,他们无法把时间耗费在管理 proxy 基础设施、浏览器集群和逐个站点的修复上(完整成本分析见 自建爬虫维护的隐形成本)。FourA 负责处理 request 层。KORENA 因而省下时间,专注于树种标准化、OCR 调优、定价逻辑和审计跟踪,这些只有他们自己才能完成的核心工作。
过去获取每日木材价格意味着需要致电区域经纪人。现在任何人都可以直接在 timber-index.korena.eu 自行绘制价格走势图。接下来十款类似 Index 的产品将不再有时间从头构建数据抓取层。这就是我们所看好的方向。
正在基于公开网络数据构建产品,并且厌倦了自行维护爬虫与 proxy 基础设施?立即开始使用 FourA。