Zum Inhalt springen
Zurück zum Blog

So extrahieren Sie Daten von eBay-Seiten für Preisanalysen

Gabriel CiociZuletzt aktualisiert am 4 min read
So extrahieren Sie Daten von eBay-Seiten für Preisanalysen

Extrahieren starten

Testen Sie WebScrapingAPI kostenlos

Erhalten Sie 1.000 kostenlose API-Credits. Keine Kreditkarte erforderlich.

Los geht’s

Lassen Sie mich Ihnen ein Beispiel geben. Sie haben gerade Ihren Online-Shop für seltene Retro-Videospielkassetten eröffnet und wissen noch nicht so recht, wie Sie die Preise festlegen sollen.

Die Preisgestaltung für ein Produkt ist immer eine Herausforderung: Ist der Preis zu niedrig, schmälert das die Gewinnspanne. Ist der Preis zu hoch, haben Kunden kein Interesse an dem Produkt und kaufen es bei der Konkurrenz.

Entscheidungen, Entscheidungen. Was können wir tun? Angesichts dieses Problems haben Sie zwei Lösungen:

  • Jeden Tag Stunden damit verbringen, die Preise der Konkurrenz zu recherchieren
  • Gehen Sie clever vor und erstellen Sie ein automatisches Skript, das diese mühsame Aufgabe automatisch für Sie erledigt

Können Sie erraten, für welche Option wir uns in diesem Artikel entscheiden werden? Da Zeit Geld ist und ich mir das Leben gerne so oft wie möglich erleichtern möchte, entscheiden wir uns für die zweite Option.

Wenn Ihnen die erste Option mehr Spaß macht, können Sie diesen Artikel trotzdem lesen. Es ist offensichtlich, dass Sie zu viel Freizeit haben.

Wie das Scraping von eBay Ihrem Online-Shop helfen wird

eBay ist mit einem Marktanteil von 19,7 % der zweitgrößte Online-Marktplatz in den USA. Mit 182 Millionen aktiven Nutzern ist eBay eine der besten Plattformen, die wir für Preisanalysen nutzen können.

In diesem Beispiel werden wir nur den Produktpreis scrapen, aber eBay ist eine wahre Fundgrube an Daten. Sie können jederzeit den Bewertungsbereich scrapen, negative Keywords extrahieren, eine Sentimentanalyse durchführen und herausfinden, warum Kunden mit dem gekauften Produkt unzufrieden sind.

Sie können auch den Bereich „Kunden, die diesen Artikel angesehen haben, haben auch angesehen“ scrapen, um herauszufinden, was Kunden wollen. Sie können diese Informationen nutzen, um neue Produkte in Ihren Shop aufzunehmen oder Rabattpakete mit mehreren Produkten zusammenzustellen. Die Leute werden sie lieben!

So scrapen Sie eBay mit WebScrapingAPI

Eine der größten Hürden beim Web-Scraping ist es, eine Sperrung durch die Website zu vermeiden, an der Sie interessiert sind. Glücklicherweise müssen Sie sich darüber keine Sorgen machen, wenn Sie das richtige Tool haben. In diesem Fall ist WebScrapingAPI aus drei einfachen Gründen die beste Lösung:

  • Wir bieten 1.000 Anfragen pro Monat im kostenlosen Paket an, keine Kreditkarte erforderlich.
  • Die API verfügt über einen Proxy-Pool mit über 100 Millionen rotierenden IP-Adressen, wodurch keine Überschneidungen bei den Anfragen garantiert sind.
  • Sie können die API mit nur einer einzigen Zeile Code integrieren.

Vielleicht fragen Sie sich, warum wir eine Scraping-API nutzen, anstatt unsere eigene zu entwickeln. Der Grund ist ganz einfach: Die Entwicklung eines Scraping-Tools von Grund auf kann mehrere Wochen in Anspruch nehmen.

Das größte Problem ist nicht die Erstellung des Tools selbst, sondern dessen Feinabstimmung, damit Websites es nicht als Bot markieren.

API-Zugriffsschlüssel & Authentifizierung

Gehen Sie auf die Website von WebScrapingAPI und erstellen Sie ein Konto. Sie erhalten einen API-Schlüssel und 1.000 Anfragen kostenlos.

Installiere die Abhängigkeiten

Unser kleines Projekt ist schlank und benötigt nur zwei Abhängigkeiten: axios und cheerio. Axios ist ein Promise-basierter HTTP-Client für Node.JS. Wir verwenden diese Bibliothek, um die WebScrapingAPI aufzurufen. Die zweite Bibliothek, cheerio, ist eine schlanke Implementierung von jQuery für den Server, und wir nutzen sie, um die Produktseite zu parsen. Verwende diesen Befehl, um die Abhängigkeiten zu installieren:

npm install axios cheerio

Das Projekt einrichten

Erstellen Sie eine Datei „index.js“ und fügen Sie den folgenden Code ein:

const cheerio = require('cheerio');
const axios = require('axios');

const api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const product_url = 'https://www.ebay.com/itm/174620280276?epid=4444&hash=item28a82e05d4:g:UpMAAOSwfY5gYDr6';
const api_url = `https://api.webscrapingapi.com/v1?api_key=${api_key}&url=${encodeURIComponent(product_url)}`;
const hour_in_ms = 1000 * 60 * 60;

let product_price = null;

const check_price = async () => {

	// Scrape the document

	// Parse the document

	// Process the results

	// Check for any price change in one hour
	setTimeout(check_price, hour_in_ms)

}

(async () => check_price())()

Wie du sehen kannst, verwenden wir eine rekursive Funktion mit einem Timeout, um die Produktseite stündlich zu scrapen und auf Preisänderungen zu prüfen.

Die Seite(n) scrapen

Ersetzen Sie // Scrape the document durch diesen Code:

let response;

try {
	response = await axios.get(api_url);
} catch (error) {
	console.log(error);
	process.exit();
}

const $ = cheerio.load(response.data);

Dieser Code nutzt die WebScrapingAPI, um die eBay-Produktseite zu scrapen, und konvertiert die Ergebnisse in eine Cheerio-Instanz.

Überprüfen Sie den Quellcode

Wir haben die gesamte Produktseite gecrawlt, benötigen aber nur den Produktpreis. Wir können die Cheerio-Instanz verwenden, um den Preiswert abzurufen. Der Selektor für den Produktpreis lautet #mainContent [itemprop="price"].

Parse den HTML-Code

Ersetzen // Analysieren Sie das Dokument mit dem folgenden Code:

let price = $('#mainContent [itemprop="price"]').html()

Verarbeiten Sie die Ergebnisse

Der Preis hat folgendes Format: WÄHRUNGSSYMBOL BETRAG. Wir müssen nur den Betrag extrahieren. Ersetze // Verarbeite die Ergebnisse durch diesen Code:

price = parseInt(price
	.split(' ')[1]
	.replace('$', '')
	.replace(' ', '')
	.split(',').join('')
	.split('.')[0])

if(!product_price) {
	console.log(`Initial product price:`, price)
} else {
	if(product_price !== price) {
    		console.log('New price for product:', price)
	}
}

product_price = price

Dieser Code bereinigt den Preis durch folgende Schritte:

  • Entferne die Währung (US)
  • Entferne das Währungssymbol ($)
  • Entferne alle Leerzeichen ( )
  • Entferne Kommas aus der Zahl
  • Entfernen der Dezimalstellen

Sobald der Preis analysiert wurde, protokollieren wir den ursprünglichen Preis oder den neuen Preis, falls sich dieser zwischen den Scraping-Sitzungen geändert hat.

Fazit

Mit wenigen Zeilen Code und einem fantastischen Tool wie WebScrapingAPI ist es uns gelungen, ein Skript zu erstellen, das den Preis jedes beliebigen Produkts von eBay abruft. Von hier aus sind der Fantasie keine Grenzen gesetzt. Sie können das Skript auf die nächste Stufe heben und die folgenden Verbesserungen implementieren:

  • Den Produkttitel scrapen, um die Preisklassifizierung zu vereinfachen
  • Mehrere Produkte scrapen und die Preise vergleichen
  • Eine andere eBay-Website (wie ebay.de oder ebay.ca) scrapen und den Preis für dasselbe Produkt vergleichen
  • Drehen Sie den Spieß um, scrapen Sie die Amazon-Produktseite und vergleichen Sie die Preise für dasselbe Produkt auf beiden Seiten
  • E-Mail-Benachrichtigungen implementieren; dazu sollten Sie nodemailer verwenden
  • Implementieren Sie Slack-Benachrichtigungen; Sie können diese Bibliothek verwenden, um die Aufgabe zu erledigen

Das Beste an dieser praktischen Lösung für einen realen Anwendungsfall ist, dass Sie all dies tun können, ohne Geld oder wertvolle Zeit zu investieren. Denn WebScrapingAPI bietet eine zweiwöchige kostenlose Testversion, mit der Sie alle Funktionen kostenlos nutzen können!

Über den Autor

Gabriel Cioci, Full-Stack-Entwickler @ WebScrapingAPI

Gabriel Cioci

Full-Stack-Entwickler

Gabriel Cioci ist Full-Stack-Entwickler bei WebScrapingAPI und verantwortlich für die Entwicklung und Wartung der Websites, des Benutzerportals sowie der wichtigsten benutzerseitigen Komponenten der Plattform.

Web-Scraping mit AWS Lambda: Leitfaden für Python und Java 2026
Anleitungen

Web-Scraping mit AWS Lambda: Leitfaden für Python und Java 2026

Kurz gesagt: Web-Scraping mit AWS Lambda funktioniert am besten, wenn jeder Aufruf kurz, begrenzt und unabhängig wiederholbar ist. Beginnen Sie mit direktem HTTP, AWS SAM und S3 und fügen Sie erst dann SQS, Container, Browser-Rendering, Proxys oder eine verwaltete Abrufebene hinzu, wenn sich im Rahmen der Arbeitslast herausstellt, dass diese erforderlich sind.

Suciu Dan26 min read
Artikel lesen
So verwenden Sie GoSpider: Crawlen, URLs bereinigen und Daten extrahieren
Anleitungen

So verwenden Sie GoSpider: Crawlen, URLs bereinigen und Daten extrahieren

TL;DR: GoSpider ist ein Befehlszeilen-Crawler zum Auffinden von URLs, kein vollständiger Scraper für strukturierte Daten. Diese Anleitung zur Verwendung von GoSpider zeigt einen begrenzten Crawl, die saubere Verarbeitung der Ausgabe, die Übergabe von Colly an CSV sowie einen Diagnosepfad für 403-Antworten oder Seiten, die eine JavaScript-Darstellung erfordern.

Suciu Dan20 min read
Artikel lesen
Wie man Redfin scrappt: Python-Leitfaden für Immobiliendaten
Anleitungen

Wie man Redfin scrappt: Python-Leitfaden für Immobiliendaten

TL;DR: Redfin stellt versteckte API-Endpunkte zur Verfügung, die strukturiertes JSON für Immobilienangebote zurückgeben, wodurch das fragile HTML-Parsing vollständig übersprungen werden kann. Diese Anleitung führt Sie durch den Aufbau eines Python-Scrapers, der Miet- und Verkaufsdaten extrahiert, nach Standort sucht, neue Angebote über XML-Sitemaps überwacht und saubere Ergebnisse in CSV oder JSON exportiert.

Suciu Dan11 min read
Artikel lesen

Los geht’s

Sind Sie bereit, Ihre Datenerfassung zu erweitern?

Schließen Sie sich den über 2.000 Unternehmen an, die WebScrapingAPI nutzen, um Webdaten im Unternehmensmaßstab ohne zusätzlichen Infrastrukturaufwand zu extrahieren.