Preise aus den Portalen, zu denen du schon Zugang hast
Distributoren-Preislisten, Vertragspreise, Verfügbarkeiten: Sie liegen hinter einem Login, der dir gehört. Eine geplante Extraktion liest sie als strukturierte Daten und schickt das Ergebnis an dein Preissystem.
Wofür das gedacht ist
Die ehrliche Grenze zuerst: Das ist Preisüberwachung auf Seiten, auf denen du Kunde bist. Kein Scraper für Konkurrenz-Shops, die Bots aussperren.
- Distributoren- und Großhandelsportale
- Deine Nettopreise und Bestände je Artikel stehen im Portal des Distributors, meist ohne Export. Die Liste täglich zu extrahieren gibt dem Einkauf einen Feed statt eines Screenshots.
- Vertragspreise prüfen
- Rahmenverträge versprechen Preise; Portale zeigen, was tatsächlich berechnet wird. Beides nach Zeitplan zu lesen findet die Abweichung, bevor die Rechnung es tut.
- Der eigene Shop aus Kundensicht
- Den eigenen Storefront über Regionen und Konten hinweg zu prüfen ist ein legitimer Grund, einen Browser zu steuern. Region und Sprache sind Session-Einstellungen, keine Tricks.
- Nicht für feindliches Scraping
- Keine Proxys, kein Fingerprint-Spoofing, kein CAPTCHA-Lösen. Wenn eine Seite Automatisierung aktiv fernhält, ist Browserberg das falsche Werkzeug und sagt das auch.
Warum man den Zahlen trauen kann
Schema zuerst
Du legst die Form fest: Artikelnummer, Stückpreis, Währung, Bestand. Die Extraktion liefert genau diese Form und meldet Felder, die sie nicht fand, statt zu raten.
Herkunft an jedem Wert
Jeder Lauf hält fest, welche Modellstufe die Extraktion erzeugt hat und wo sie verarbeitet wurde. Ein Preis, der später falsch aussieht, lässt sich auf Lauf und Seite zurückführen.
Gleiche Seite, gleiche Lesung
Ein Lauf führt die Workflow-Version aus, mit der er gestartet wurde. Eine veröffentlichte Änderung verändert nie einen laufenden Lauf, und alte Versionen bleiben lesbar.
Angemeldet über Läufe hinweg
Ein persistentes Profil trägt die Portal-Session zwischen Läufen, wo das Portal das zulässt. Ein täglicher Job meldet sich dann nicht täglich neu an.
Tägliche Preislisten-Extraktion
import { Browserberg } from '@browserberg/sdk';
const bb = new Browserberg({
apiKey: process.env.BROWSERBERG_API_KEY,
baseUrl: 'https://browserberg.com',
});
const wf = await bb.workflows.publish({
title: 'Distributor: Nettopreise',
blocks: [
{ blockType: 'login', label: 'Anmelden', credentialId: 'cred_distributor' },
{ blockType: 'navigation', label: 'Preisliste_oeffnen', url: 'https://b2b.distributor.example/preisliste?kategorie=kabel' },
{ blockType: 'extraction', label: 'Preise_lesen',
instruction: 'jede Artikelzeile: Artikelnummer, Bezeichnung, Netto-Stückpreis, Währung, Bestand',
schema: { type: 'object', properties: { artikel: { type: 'array', items: { type: 'object',
properties: { sku: { type: 'string' }, name: { type: 'string' }, netto: { type: 'number' },
waehrung: { type: 'string' }, bestand: { type: 'integer' } } } } } } },
{ blockType: 'http_request', label: 'Speichern', method: 'POST',
url: 'https://preise.intern.example/feeds/distributor', body: '{{ Preise_lesen_output }}' },
],
});
await bb.triggers.create(wf.workflowId, {
kind: 'schedule', name: 'Täglich um sechs', cron: '0 6 * * *', timezone: 'Europe/Vienna',
});
Fragen aus dem Einkauf
Die Preisliste hat 40 Seiten. Kommt die Extraktion mit Blättern klar?
Ein Loop-Block wiederholt Navigation und Extraktion über eine Liste von Seiten-URLs oder bis eine Bedingung erfüllt ist, und jede Iteration veröffentlicht ihre eigene Ausgabe. Halt das Schema pro Seite und führ auf deiner Seite zusammen.
Kann ich den öffentlichen Shop eines Wettbewerbers überwachen?
Wenn der Shop automatisierten Zugriff erlaubt, funktioniert eine einfache Extraktion wie auf jeder anderen Seite. Wenn er Automatisierung aktiv blockiert, bringt Browserberg dich nicht hinein: Es gibt keine Tarnstufe zu kaufen.
Woher weiß ich, dass der Lauf die richtige Seite gelesen hat?
Jeder Lauf hält die URL fest, auf der jeder Block endete, und das Audit-Protokoll trägt die Lauf-Id. Eine Extraktion auf einer umgeleiteten Seite zeigt sich als falsche URL, nicht als plausibel aussehende Zahl.
Wo werden die Preisdaten verarbeitet?
Die Extraktion läuft standardmäßig auf der souveränen Modellstufe, an eine EU-Region gebunden, und der Lauf hält das fest. Der Browser selbst läuft auf EU-Bare-Metal.
Mit einer Preisliste anfangen
Fünf Browserstunden, keine Karte. Ein Distributorenportal, ein Schema, ein Zeitplan.