Parser für WettbewerberpreiseEntwicklung & Anpassung

Ein Python-Parser, der die öffentlichen Preise eines Wettbewerbers in einer Tabelle sammelt: Preis, alter Preis, Verfügbarkeit und Link

Meist in 15 Minuten fertigÜberarbeitungen inklusiveQualitätsprüfung
Pakete
ZahlungsschutzMehr dazu
  • Überarbeitungen im Rahmen des Pakets sind kostenlos.
  • Reagieren Sie nicht innerhalb von 3 Tagen nach der Lieferung, gilt die Arbeit automatisch als abgenommen.

Das Geld wird bei der Zahlung reserviert und erst freigegeben, wenn Sie die Arbeit abnehmen.

Ein Python-Parser, der die öffentlichen Preise eines Wettbewerbers in einer Tabelle sammelt: Preis, alter Preis, Verfügbarkeit und Link

Beispielergebnis

Beispiel für das Standard-Paket

Parser für den Katalog eines Gartengeräte-Lieferanten nach Excel

So sieht das Ergebnis aus

Artikelnr.BezeichnungPreisVerfügbarGewichtFoto
GT-1042Gartenschere, 20 mm18,90Ja0,24 kg…/gt-1042.jpg
GT-1187Klappsäge, 210 mm24,50Ja0,31 kg…/gt-1187.jpg
GT-2210Heckenschere, Wellenschliff39,00Nein1,10 kg…/gt-2210.jpg
GT-3305Handschaufel, Edelstahl9,80Ja0,18 kg…/gt-3305.jpg
GT-4120Gartenschlauch 25 m, 1/2"42,00Ja2,90 kg…/gt-4120.jpg

Die Datei im Beispiel enthält 1.236 Produkte von 52 Listenseiten.

Ein Teil des Codes

def product_links(list_url: str) -> Iterator[str]:
    """Links zu den Produktseiten von jeder Seite der Liste, dem Link „Weiter“ folgend."""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """Eine öffentliche Seite in höflichem Tempo: eine Pause zwischen Anfragen und einige Versuche bei Fehlern."""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s antwortete mit %s, Versuch %d von 3", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} ließ sich nach 3 Versuchen nicht öffnen")

Dateien: ein ZIP-Archiv mit scraper.py, settings.ini (die Startseite, die Pause zwischen Anfragen, der Dateiname), requirements.txt und einer README zu Installation und Start. Er liest nur öffentlich zugängliche Seiten, eine alle 2 Sekunden, und prüft zuerst die robots.txt der Website. Der Kunde startet ihn auf seinem eigenen Computer.

Kunde: ein Online-Gartenshop, der die Geräte eines Lieferanten weiterverkauft; der Lieferant hat einen öffentlichen Katalog auf seiner Website, aber keine Preislistendatei. Aufgabe: die Listenseiten des Katalogs durchlaufen, jede Produktseite öffnen und Artikelnummer, Bezeichnung, Preis, Verfügbarkeit, Gewicht und den Link zum Hauptfoto in Excel speichern, um einmal pro Woche die Preise zu vergleichen.

Kunde und alle Angaben sind erfunden.

Über diese Leistung

Dieser Parser liest die öffentlichen Produktseiten eines Wettbewerbers und trägt dessen Preise in eine Tabelle ein, die Sie neben Ihre eigene legen können: Produktname, Artikelnummer, Preis, alter Preis, Rabatt, Verfügbarkeit und Link, mit dem Datum der Prüfung. Nennen Sie uns die Website, Links zu einer Kategorie und einer Produktseite, die Felder in der Reihenfolge Ihrer Tabelle und ein oder zwei dieser Seiten, aus Ihrem Browser gespeichert. Wir schreiben den Code in Python nach ihrer tatsächlichen Struktur, mit einer Einstellungsdatei und einer README. Sie starten ihn auf Ihrem Computer, wann immer Sie aktuelle Preise möchten, und die Tabelle landet direkt bei Ihnen. Er liest nur öffentlich zugängliche Seiten in höflichem Tempo, meldet sich nie an, umgeht keine Captchas oder Schutzmaßnahmen und sammelt keine personenbezogenen Daten. Ob die Nutzungsbedingungen der Website das erlauben, entscheiden Sie, und eine spätere Änderung ihres Aufbaus erfordert eine Aktualisierung.

Was enthalten ist

  • Das erhalten SieEin ZIP-Archiv mit dem Python-Code, einer Einstellungsdatei und einer README mit Schritt-für-Schritt-Anleitung; der Code wird auch auf der Bestellseite angezeigt.
  • PreisspaltenPreis, alter Preis und Rabatt als getrennte Zahlen
  • Nummern zum AbgleichenArtikelnummer oder Barcode des Wettbewerbers, wenn die Seite sie zeigt
  • Datum jeder PrüfungJede Zeile trägt das Datum, an dem sie erfasst wurde
  • Höfliches TempoEine Pause zwischen den Seiten, die Sie festlegen
  • Läuft auf Ihrem ComputerWindows, macOS oder Linux; starten Sie ihn erneut für aktuelle Preise

So funktioniert es

  1. 1
    SeitenSie nennen die Website des Wettbewerbers, eine Kategorie und eine gespeicherte Produktseite
  2. 2
    ParserWir schreiben den Code nach diesen Seiten und die Anleitung zum Ausführen
  3. 3
    StartSie starten ihn und vergleichen die ersten Zeilen mit der Website
  4. 4
    ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen

Was wir von Ihnen brauchen

Die Website des Wettbewerbers und die genauen Seiten: ein Link zu einer Kategorie und zu einer Produktseite und ungefähr wie viele Produkte es gibt. Die benötigten Felder in der Reihenfolge Ihrer Tabelle, z. B. Name, Artikelnummer, Preis, alter Preis, Verfügbarkeit, Link. Ein oder zwei dieser Seiten, aus Ihrem Browser als HTML gespeichert (Datei > Seite speichern unter), oder Screenshots. CSV oder Excel und wo Sie ihn ausführen werden.

Wir fragen Sie:

  • Welche Website des Wettbewerbers und welche Seiten?
  • Die benötigten Felder
  • Ungefähr wie viele Produkte?
  • Wie oft werden Sie ihn starten?

Pakete vergleichen

PaketeBasisPreise von Produktseiten19 €StandardEine ganze Kategorie38 €PremiumBis zu 3 Wettbewerber67 €
Lieferzeit1 Tag2 Tage3 Tage
Überarbeitungen123
Websites11bis zu 3
Seitentypen12 (Kategorie und Produkt)bis zu 3
Felderbis zu 10bis zu 25bis zu 25 pro Seitentyp
Durchläuft die Seiten einer ListeNeinJaJa
ErgebnisdateiCSVExcel oder CSVExcel, CSV oder JSON
Duplikate entfernt, setzt dort fort, wo er aufgehört hatNeinNeinJa
Bestellen BasisBestellen StandardBestellen Premium

Zahlungsschutz

Sie bezahlen bei der Bestellung, aber das Geld wird nur für abgenommene Arbeit freigegeben.

  • FestpreisDer Paketpreis ändert sich nach der Zahlung nicht mehr.
  • Das Geld wird reserviertBei der Zahlung wird der Betrag nur reserviert. Freigegeben wird er erst, wenn Sie die Arbeit abnehmen.
  • Vor der Lieferung geprüftJedes Ergebnis durchläuft eine Qualitätsprüfung, bevor es Sie erreicht, und Sie sehen es auf der Bestellseite, bevor Sie es abnehmen.
  • Kostenlose ÜberarbeitungenFordern Sie Überarbeitungen im Rahmen Ihres Briefings so oft an, wie das Paket es erlaubt.
  • Abnahme nach 3 TagenWenn Sie die Arbeit innerhalb von 3 Tagen nach der Lieferung weder abnehmen noch eine Überarbeitung anfordern, gilt sie automatisch als abgenommen. Schreiben Sie nach der Lieferung im Bestell-Chat, wartet die Bestellung; sobald wir antworten, können wir die 3 Tage neu starten und teilen das im Chat mit.
  • Neuanfertigung oder volle RückerstattungWenn das Ergebnis nicht Ihrem Briefing entspricht und die Überarbeitungen das nicht behoben haben oder die Arbeit mehr als doppelt so lange dauert wie die Frist, schreiben Sie im Bestell-Chat: Wir erstellen die Arbeit neu oder erstatten die Zahlung vollständig.
So funktioniert es →

Fragen und Antworten

Ordnet er die Produkte des Wettbewerbers meinen zu?

Er speichert Artikelnummer, Barcode und Namen des Wettbewerbers so, wie die Seite sie zeigt, damit Sie sie in Excel mit Ihrer Liste abgleichen können. Weichen die Nummern von Ihren ab, liegt der Abgleich bei Ihnen: Wir raten nicht, welche Produkte dieselben sind.

Sieht er Preise für angemeldete Kunden oder Großhändler?

Nein. Er liest die Preise, die eine öffentliche Seite jedem Besucher zeigt. Preise hinter einem Konto, einem Großhandelslogin oder einem Captcha bleiben unerreichbar.

Ist es erlaubt, die Preise eines Wettbewerbers zu sammeln?

Das Sammeln öffentlicher Preise ist in vielen Fällen erlaubt, aber Nutzungsbedingungen von Websites und Datenschutzgesetze unterscheiden sich von Land zu Land, daher entscheiden Sie, ob Sie sie sammeln und verwenden dürfen. Der Parser meldet sich nie an, umgeht keine Schutzmaßnahmen und sammelt keine personenbezogenen Daten.

Kann er Preise von Amazon, Google oder Shops in sozialen Netzwerken sammeln?

Nein. Deren Nutzungsbedingungen verbieten es, und dasselbe gilt für LinkedIn und andere soziale Netzwerke. Nutzen Sie für solche Daten den offiziellen Export oder die API des Dienstes.

Was, wenn der Wettbewerber die Website ändert?

Der Parser folgt den Seiten, wie sie jetzt sind. Nach einer Änderung des Aufbaus braucht er eine Aktualisierung, die eine neue Bestellung ist. Wenn die Website Besuche begrenzt, umgeht der Parser das nicht.

Keine Antwort gefunden?

Pakete