EntwicklungZahlungsschutzMehr 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.

Beispielergebnis
Parser für den Katalog eines Gartengeräte-Lieferanten nach Excel
So sieht das Ergebnis aus
| Artikelnr. | Bezeichnung | Preis | Verfügbar | Gewicht | Foto |
|---|---|---|---|---|---|
| GT-1042 | Gartenschere, 20 mm | 18,90 | Ja | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Klappsäge, 210 mm | 24,50 | Ja | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Heckenschere, Wellenschliff | 39,00 | Nein | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Handschaufel, Edelstahl | 9,80 | Ja | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Gartenschlauch 25 m, 1/2" | 42,00 | Ja | 2,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
Bei jedem Start prüft dieser Parser, welche Produkte auf einer öffentlichen Website vorrätig sind, etwa bei Ihrem Lieferanten oder einem Shop, dessen Waren Sie weiterverkaufen, und speichert eine Tabelle: Name, Artikelnummer, Status, wie die Seite ihn schreibt, Restmenge, wenn angezeigt, Lieferzeit, Preis, Link sowie Datum und Uhrzeit der Prüfung. Bewahren Sie die Datei jedes Laufs auf, und Sie sehen, was wieder da ist und was ausverkauft ist. Schicken Sie die Website, Links zu einer Kategorie und einer Produktseite, die Status, die die Website verwendet, und ein oder zwei aus Ihrem Browser gespeicherte Seiten. Sie erhalten Python-Code, eine Einstellungsdatei und eine README und starten ihn auf Ihrem Computer. 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; 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.
- Status als SpalteDie Begriffe der Website oder Ihre eigenen Bezeichnungen wie ja / nein / bestellt
- Menge, wenn angezeigtWenn die Seite zeigt, wie viele noch übrig sind
- Datierte ZeilenDatum und Uhrzeit der Prüfung in jeder Zeile
- Höfliches TempoEine Pause zwischen den Seiten, in den Einstellungen festgelegt
- Läuft auf Ihrem ComputerWindows, macOS oder Linux, mit Python
So funktioniert es
- 1SeitenSie nennen die Website, die Produkte und die verwendeten Status
- 2ParserWir schreiben den Code und die Anleitung zum Ausführen
- 3Erste PrüfungSie starten ihn und vergleichen ein paar Status mit der Website
- 4ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen
Was wir von Ihnen brauchen
Die Website und die genauen Seiten: ein Link zu einer Kategorie und zu einer Produktseite oder Ihre Liste mit Produktlinks und ungefähr wie viele Produkte. Die Verfügbarkeitsstatus, die die Website zeigt, so geschrieben, wie sie erscheinen. Die benötigten Felder neben dem Status, z. B. Artikelnummer, Preis, Lieferzeit. Ein oder zwei Seiten, aus Ihrem Browser gespeichert (Datei > Seite speichern unter), oder Screenshots, idealerweise eine vorrätige und eine ausverkaufte. Wie oft Sie ihn starten möchten.
Wir fragen Sie:
- Welche Website und welche Produkte?
- Die Verfügbarkeitsstatus
- Weitere Felder
- Wie oft werden Sie prüfen?
Pakete vergleichen
| Pakete | BasisBestand Ihrer Produktliste19 € | StandardBestand einer ganzen Kategorie37 € | PremiumMehrere Websites oder Bereiche66 € |
|---|---|---|---|
| Lieferzeit | 1 Tag | 2 Tage | 3 Tage |
| Überarbeitungen | 1 | 2 | 3 |
| Websites | 1 | 1 | bis zu 3 |
| Seitentypen | 1 | 2 (Kategorie und Produkt) | bis zu 3 |
| Felder | bis zu 10 | bis zu 25 | bis zu 25 pro Seitentyp |
| Durchläuft die Seiten einer Liste | Nein | Ja | Ja |
| Ergebnisdatei | CSV | Excel oder CSV | Excel, CSV oder JSON |
| Duplikate entfernt, setzt dort fort, wo er aufgehört hat | Nein | Nein | Ja |
| Datum und Uhrzeit der Prüfung | Ja | Ja | Ja |
| Bestellen Basis | Bestellen Standard | Bestellen 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.
Fragen und Antworten
Benachrichtigt er mich, wenn ein Produkt wieder da ist?
Nein. Er speichert eine Tabelle mit Datum und Uhrzeit jeder Prüfung; Sie filtern sie oder legen zwei Dateien in Excel nebeneinander. Nachrichten und Benachrichtigungen gehören nicht dazu.
Kann er den Bestand in einer bestimmten Filiale oder einem Lager zeigen?
Nur wenn eine öffentliche Seite ihn ohne Anmeldung zeigt, zum Beispiel eine Filialliste auf der Produktseite. Eine Filialauswahl, die ein Konto erfordert, ist unerreichbar.
Wie oft kann ich ihn starten?
So oft, wie es der Website gegenüber fair ist: Eine Pause zwischen den Seiten bedeutet, dass eine große Kategorie eine Weile dauert, daher sind ein paar Läufe am Tag meist das Maximum. Premium ergänzt eine Anleitung für den zeitgesteuerten Start.
Kann er den Bestand bei Amazon, Google Shopping oder in sozialen Netzwerken prüfen?
Nein. Deren Nutzungsbedingungen verbieten es, ebenso die von LinkedIn und anderen sozialen Netzwerken. Bei anderen Websites entscheiden Sie, ob deren Bedingungen es erlauben.
Was, wenn die Website ihre Seiten ändert?
Der Parser folgt den Seiten, wie sie jetzt sind. Eine spätere Änderung des Aufbaus oder der Statusbegriffe erfordert eine Aktualisierung, die eine neue Bestellung ist.
Keine Antwort gefunden?


