Parser für LieferantenkatalogeEntwicklung & Anpassung

Ein Python-Parser, der den öffentlichen Katalog eines Lieferanten in eine Importdatei für Ihren Shop verwandelt, mit Fotolinks

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 den öffentlichen Katalog eines Lieferanten in eine Importdatei für Ihren Shop verwandelt, mit Fotolinks

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

Wenn ein Lieferant sein Sortiment auf einer öffentlichen Website zeigt, aber keine Datei schickt, überträgt dieser Parser den Katalog in eine Tabelle, die Ihr Shop importieren kann: Name, Artikelnummer, Preis, Beschreibung, technische Daten, Kategorie und Fotolinks, und er speichert die Fotos in einem Ordner. Schicken Sie die Website des Lieferanten, Links zu einer Kategorie und einer Produktseite, ein oder zwei aus Ihrem Browser gespeicherte Seiten und die Importvorlage Ihres Shops, zum Beispiel eine CSV für Shopify oder WooCommerce, damit die Spalten ihr folgen. Sie erhalten Python-Code mit einer Einstellungsdatei und einer README und starten ihn auf Ihrem Computer. Verwenden Sie nur Fotos und Texte, die der Lieferant Ihnen erlaubt. Er liest ö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; 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.
  • Spalten für Ihren ImportIn der Reihenfolge und mit den Namen der Importdatei Ihres Shops
  • Fotos ladebereitFotolinks in einer Spalte und Dateien nach Artikelnummer benannt
  • Preise wie angezeigtDer Preis des Lieferanten; Ihren Aufschlag ergänzen Sie in der Tabelle
  • Höfliches TempoEine Pause zwischen den Seiten, in den Einstellungen festgelegt
  • Eine verständliche AnleitungWas installiert wird und wie man ihn startet, Schritt für Schritt

So funktioniert es

  1. 1
    KatalogSie nennen die Seiten des Lieferanten und Ihre Importvorlage
  2. 2
    ParserWir schreiben den Code und die Anleitung zum Ausführen
  3. 3
    TestimportSie starten ihn und importieren die ersten Zeilen in Ihren Shop
  4. 4
    ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen

Was wir von Ihnen brauchen

Die Website des Lieferanten: ein Link zu einer Kategorie und zu einer Produktseite und ungefähr wie viele Produkte es gibt. Die Importvorlage Ihres Shops oder ein Beispielexport einiger Ihrer Produkte, damit die Spalten passen. Die benötigten Felder wie Name, Artikelnummer, Preis, Beschreibung, technische Daten, Kategorie, Fotos. Ein oder zwei Seiten des Lieferanten, aus Ihrem Browser gespeichert (Datei > Seite speichern unter). Wie Fotodateien benannt werden sollen. Und Ihre Bestätigung, dass der Lieferant Ihnen die Nutzung seiner Fotos und Texte erlaubt.

Wir fragen Sie:

  • Welche Website des Lieferanten und welche Seiten?
  • Ihr Shop und seine Importdatei
  • Ungefähr wie viele Produkte?
  • Fotos

Pakete vergleichen

PaketeBasisProduktseiten in eine Tabelle20 €StandardEin ganzer Katalogbereich39 €PremiumMehrere Lieferanten oder Bereiche68 €
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
FotosLinks in einer Spalte, Dateien in einem OrdnerLinks in einer Spalte, Dateien in einem OrdnerLinks in einer Spalte, Dateien in einem Ordner
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

Lässt sich die Datei sofort in meinen Shop importieren?

Die Spalten folgen der Vorlage, die Sie schicken, daher meistens ja. Wir prüfen die Datei gegen Ihre Vorlage, nicht in Ihrem Shop, testen Sie also einen kleinen Import der ersten Zeilen, bevor Sie alles laden.

Darf ich die Fotos und Beschreibungen des Lieferanten verwenden?

Nur wenn der Lieferant es erlaubt: Sie gehören ihrem Eigentümer, und die Erlaubnis einzuholen, liegt bei Ihnen. Der Parser speichert nur Bilder, die Sie verwenden dürfen.

Kann er Händlerpreise hinter dem Login des Lieferanten lesen?

Nein. Er meldet sich nie an, daher bleiben Händler- oder Großhandelspreise hinter einem Konto unerreichbar. Bitten Sie den Lieferanten um eine Preisdatei; der Parser sammelt trotzdem den Rest des öffentlichen Katalogs.

Kann er einen Katalog von Amazon, Google oder einem Shop in sozialen Netzwerken kopieren?

Nein. Deren Nutzungsbedingungen verbieten es; dasselbe gilt für LinkedIn und andere soziale Netzwerke. Nutzen Sie den offiziellen Export des Dienstes oder bitten Sie den Verkäufer um eine Datei.

Was, wenn der Lieferant seine Website ändert?

Der Parser folgt den Seiten, wie sie jetzt sind. Eine spätere Änderung des Aufbaus erfordert eine Aktualisierung, die eine neue Bestellung ist.

Keine Antwort gefunden?

Pakete