← Wszystkie wpisy

Jak KORENA zbudowała indeks cen drewna w oparciu o FourA

KORENA stworzyła codzienny europejski indeks cen drewna w oparciu o portale leśne, pliki PDF z aukcji i dziesięć walut. FourA stanowi warstwę requestów, która za tym stoi.

Europejskie dane o cenach drewna są technicznie publiczne, ale w praktyce bezużyteczne. Jeden kraj podaje ceny dębu w euro za metr sześcienny, bez podatku. Sąsiedni kraj publikuje ceny buka w lokalnej walucie, z wliczonym podatkiem, ukryte w zeskanowanym pliku PDF bez warstwy tekstowej do przeszukiwania. Co gorsza, drzewa na pniu, drewno przy drodze i wybrane partie aukcyjne są często wyceniane obok siebie, jakby były identycznymi produktami.

Surowe dane istnieją. Rynkowa wiedza nie.

Firma KORENA uruchomiła KORENA Timber Index, aby to naprawić. Rezultatem jest codzienny, bezpłatnie dostępny punkt odniesienia dla europejskich cen drewna liściastego, tarcicy i bali. W połowie 2026 roku indeks śledzi około dwudziestu gatunków i 170 regionalnych wierszy cenowych w dziesięciu krajach (Rumunia, Niemcy, Bułgaria, Polska, Francja, Austria, Włochy, Finlandia, Norwegia, Szwecja), a także poziom ogólnoeuropejskiego rynku.

Aby dwuosobowy zespół inżynierów mógł objąć tak duży obszar, KORENA musiała podjąć jedną kluczową decyzję: kto obsługuje sieć. Wybrali FourA i przekierowali przez niego cały ruch.

Jedna brama do sieci

KORENA podjęła wczesną decyzję architektoniczną: każde zewnętrzne żądanie webowe przechodzi przez FourA. Pozbyli się rozproszonych scraperów, jednorazowych skryptów i niestandardowych poleceń ukrytych w kodzie źródłowym.

Nie chodziło o wygodę. Chodziło o spójność. Portale leśne zachowują się nieprzewidywalnie. Niektóre to statyczne strony HTML. Inne to nowoczesne platformy aukcyjne, które wyświetlają dane dopiero po wyrenderowaniu ich przez przeglądarkę. Witryny rządowe są często powolne, przestarzałe lub mocno chronione.

Dzięki kierowaniu całego ruchu przez infrastrukturę żądań FourA, KORENA obsługuje ponawianie prób, backoff, logowanie i alerty w ten sam sposób dla każdego źródła. Każdy pobrany dokument może zostać zahashowany, zapisany i powiązany z ostateczną ceną na potrzeby audytu.

Wybór właściwej strategii pobierania dla każdego źródła

Zamiast wpisywać na stałe logikę scrapowania dla każdej witryny, KORENA mapuje każde źródło danych na konkretny endpoint FourA bezpośrednio w swojej bazie danych (zobacz wybór odpowiedniego typu zadania dla pełnego zestawienia). Mogą zmieniać strategie bez modyfikacji głównego kodu parsującego:

  • Single (/single/): statyczne strony HTML, kanały XML i bezpośrednie pobieranie plików PDF. Niemieckie raporty statystyczne, aktualizacje bułgarskich lasów państwowych, rumuńskie tabele cenowe. Szybkie, lekkie, odpowiednie rozwiązanie domyślne dla większości witryn.

  • Browser (/browser/): interaktywne aplikacje webowe wymagające rzeczywistego kontekstu przeglądarki. Polska platforma aukcyjna e-Drewno wymaga renderowania, zanim pojawią się liczby. Początkowy HTML nie zawiera nic użytecznego.

  • Proxy Finder (/proxy/): rozwiązanie zapasowe dla najtrudniejszych celów. Silniejsza rotacja oraz unblocker: true dla weryfikacji na poziomie handshake'u.

Ponieważ jest to ustawienie konfigurowane dla każdego źródła, a nie wpisane na sztywno w skrypt, KORENA może przełączyć źródło z Single na Browser lub Proxy Finder, gdy serwis zmieni swoje mechanizmy obronne. Warstwa parsowania w ogóle tego nie widzi.

Skanowane pliki PDF: najtrudniejsza część

Współczesne webowe API są proste w obsłudze. Najtrudniejszym przypadkiem do zautomatyzowania są pliki PDF zawierające wyłącznie obrazy. Cenniki i wyniki aukcji publikowane jako skany, zupełnie bez warstwy tekstowej. Dla człowieka jest to uciążliwe. W przypadku codziennego indeksu zatrzymuje to cały pipeline.

Pipeline KORENA radzi sobie z nimi dzięki czytelnemu podziałowi zadań:

  • Pobieranie: FourA codziennie i niezawodnie pobiera surowe bajty plików PDF.

  • Ocena tekstu: KORENA sprawdza plik pod kątem użytecznej natywnej warstwy tekstowej.

  • Przetwarzanie i ekstrakcja: jeśli PDF jest płaskim obrazem, KORENA rasteryzuje strony i przetwarza je przez OCR oraz ekstrakcję dokumentów opartą na AI, stosując niestandardowe podpowiedzi językowe i słowniki gatunków drewna, aby wychwycić lokalną terminologię leśną.

  • Walidacja schematu: wynik jest walidowany według tego samego schematu, co każde inne źródło.

Nic z tego nie zadziała, jeśli nie można niezawodnie pobrać dokumentu każdego dnia. To właśnie krok, za który odpowiada FourA.

Pobieranie a rozumienie danych: czysty podział

Zadaniem FourA jest niezawodne dostarczanie surowych bajtów. Nie musi wiedzieć nic o drewnie. Dzięki temu KORENA może w 100% skupić się na tym, na czym naprawdę się zna: przekształcaniu chaotycznych danych w ustandaryzowany indeks. Wszystko, co dotyczy specyfiki branży, pozostaje po stronie KORENA. HTML jest parsowany lokalnie, cyfrowe pliki PDF są odczytywane za pomocą pdfjs-dist, a skanowane PDF-y są przetwarzane przez OCR.

Etap normalizacji to moment, w którym surowe liczby stają się indeksem. Cena drewna na pniu to nie cena drewna tartacznego, a lokalny wynik aukcji zawierający VAT nie jest bezpośrednio porównywalny z ofertą eksportową netto. Aby przekształcić surowe liczby w porównywalne dane rynkowe, KORENA konwertuje wszystkie dane do jednego standardu: euro za metr sześcienny, bez VAT, ekwiwalent z dostawą.

Aby zrobić to precyzyjnie, system uwzględnia:

Indeks rozdziela również różne segmenty rynku. Drewno okrągłe w hurcie, aukcje drewna cennego i oferty detaliczne pojawiają się jako osobne kategorie i nigdy nie są ze sobą łączone. Partia aukcyjna premium nie zaburza linii bazowej.

Ten podział to sedno sprawy: FourA rozwiązuje kwestię dostępu do danych w sieci, a KORENA zajmuje się rynkiem drewna. Żaden z systemów nie staje się dla drugiego czarną skrzynką.

Dlaczego przejrzystość cen drewna nagle stała się tak pilna

Bardziej rygorystyczne przepisy europejskie, w tym EU Deforestation Regulation (EUDR), zmuszają rynek drzewny do pełnej identyfikowalności i czystszej dokumentacji pochodzenia surowca. Przejrzystość cen to druga strona tego medalu. Producenci drewna porównujący wartości regionalne, nabywcy weryfikujący oferty cenowe i cyfrowe giełdy ustalające stawki bazowe potrzebują codziennych, zlokalizowanych, porównywalnych danych. Nie przestarzałych średnich rocznych. Nie jednorazowych, lokalnych liczb.

Dla zwinnego, dwuosobowego zespołu inżynierów obsługującego dziesięć krajów i setki nieprzewidywalnych formatów stron, marnowanie czasu na zarządzanie infrastrukturą proxy, flotami przeglądarek i poprawkami dla poszczególnych witryn nie wchodziło w grę (zobacz the hidden cost of maintaining your own scrapers, aby poznać pełne wyliczenia). FourA obsługuje warstwę zapytań request. KORENA zyskuje czas na skupienie się na normalizacji gatunków, dostrajaniu OCR, logice wyceny i ścieżkach audytu, czyli pracy, którą tylko oni mogą wykonać.

Kiedyś codzienne ceny drewna oznaczały telefon do regionalnego brokera. Teraz każdy może samodzielnie wykreślić krzywą na timber-index.korena.eu. Kolejne dziesięć produktów typu Index nie będzie miało czasu na budowanie warstwy pobierania danych od zera. Na to właśnie stawiamy.


Budujesz produkt oparty na publicznych danych internetowych i masz dość utrzymywania własnych scraperów oraz infrastruktury proxy? Get started with FourA.