In diesem Blogbeitrag untersuchen wir, wie man einen Wayfair-Preistracker erstellt, mit dem Wayfair die Preistrends auf diesem bekannten Online-Marktplatz verfolgen kann. Wenn Sie die Details der Funktionsweise der Wayfair-Preise verstehen, können Sie eine nützliche Lösung für intelligente Kaufentscheidungen finden. In diesem Tutorial wird gezeigt, wie man einen Wayfair-Preistracker erstellt, der Wayfair-Preisdaten abruft.

Lasst uns beginnen!

Inhaltsverzeichnis

Voraussetzungen:

Abhängigkeiten installieren

Umgebung einrichten

Daten von Wayfair in HTML extrahieren

  • Schritt 1: Importieren Sie die Crawlbase- und fs-Bibliothek
  • Schritt 2: Wayfair-Seiten-URL und API-Token angeben
  • Schritt 3: Initialisieren des CrawlingAPI-Objekts
  • Schritt 4: Erstellen einer GET-Anfrage
  • Schritt 5: Überprüfen Sie den Antwortstatuscode
  • Schritt 6: Fehler behandeln

Scrapen Sie die Preisdaten von Wayfair-Produkten in JSON

  • Schritt 1: Erforderliche Bibliotheken importieren
  • Schritt 2: Produktpreis abkratzen

Wayfair-Preisdaten in einer CSV-Datei speichern

Abschließende Überlegungen

Häufig gestellte Fragen

1. Voraussetzungen

Bevor Sie die Wayfair-Preise verfolgen mit Crawlbases Crawling API und JavaScriptstellen Sie sicher, dass Node.js auf Ihrem Computer installiert ist. Node.js wird benötigt, um JavaScript-Code lokal auszuführen, was für das Scraping von Websites wichtig ist. Sie können Node.js von der offiziellen Website herunterladen. Es ist auch hilfreich, ein grundlegendes Verständnis von JavaScript zu haben, einschließlich Dingen wie Variablen, Funktionen, Schleifen und sich ändernden Webseitenelementen. Holen Sie sich schließlich ein Crawlbase API-Token, um deren API effizient zu nutzen. Registrieren auf der Website von Crawlbase und finden Sie Ihre API-Token in Ihrem KontoeinstellungenMit diesen Tokens haben Sie Zugriff auf und können die Crawling APIFunktionen.

2. Abhängigkeiten installieren

Lassen Sie uns die Abhängigkeiten installieren, die wir im gesamten Tutorial verwenden werden.

1
2
3
npm installiere Crawlbase
npm installiere fs
npm installieren cheerio

Um den Wayfair-Preistracker zu erstellen, müssen Sie drei npm-Bibliotheken installieren: Crawlbase für eine effiziente Interaktion mit der Crawlbase-API für nahtloses Web Scraping von der Wayfair-Site; fs für die Dateisysteminteraktion, nützlich zum Lesen aus und Schreiben in Dateien zur Datenverarbeitung aus Web Scraping; und Tschüs, eine leichtgewichtige Bibliothek, die jQuery-Kernfunktionen implementiert, ideal zum Parsen von HTML/XML-Dokumenten in Node.js, um beim Web Scraping bestimmte Daten zu extrahieren.

3. Umgebung einrichten:

Öffnen Sie Ihr Terminal und geben Sie ein mkdir wayfair-price-tracker um einen neuen Ordner für Ihr Projekt zu erstellen.

mkdir wayfair-price-tracker

Geben Sie nun ein cd wayfair-price-tracker , um in den neuen Ordner zu wechseln. So können Sie Ihre Projektdateien einfacher organisieren.

cd wayfair-price-tracker

Geben Sie als Nächstes ein touch index.js um eine neue Datei mit dem Namen index.js zu erstellen (Sie können auch einen anderen Namen auswählen, wenn Sie möchten).

touch index.js

4. Daten von Wayfair in HTML extrahieren

Nachdem unsere Codierungsumgebung eingerichtet ist und wir unsere API-Anmeldeinformationen bereit haben, beginnen wir mit dem Schreiben von JavaScript-Code, um HTML-Daten aus der Wayfair-Webseite zu extrahieren. Wählen Sie nun die Wayfair-Webseite aus, die Sie scrapen möchten. In diesem Beispiel haben wir die Wayfair-Webseite für die Möbelkategorie.

So scrapen Sie Daten von Wayfair

Schritt 1: Importieren Sie die Crawlbase- und fs-Bibliothek:

1
2
const { CrawlingAPI } = erfordern(„Crawlbase“);
const fs = erfordern('fs');

Schritt 2: Geben Sie die Wayfair-Seiten-URL und den API-Token an:

1
2
const crawlbaseToken = 'IHR_CRAWLBASE_TOKEN';
const wayfairPageURL = „https://www.wayfair.com/furniture/sb0/sofas-c413892.html“;

Schritt 3: Initialisieren des CrawlingAPI-Objekts:

1
const API = neu CrawlingAPI({ Zeichen: crawlbaseToken });

Schritt 4: Eine GET-Anfrage stellen:

1
api.bekommen(wayfairPageURL).dann(HandleCrawlResponse).Fang(CrawlError behandeln);

Schritt 5: Überprüfen Sie den Antwortstatuscode:

1
2
3
4
5
6
Funktion handleCrawlResponse(Antwort) {
if (Antwort.Statuscode === 200) {
fs.SchreibeFileSync('antwort.html', Antwort.Körper);
trösten.Log(„HTML in response.html gespeichert“);
}
}

Schritt 6: Fehler behandeln:

1
2
3
Funktion handleCrawlError(Fehler) {
trösten.Fehler(Fehler);
}

Vollständiger Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const { CrawlingAPI } = erfordern(„Crawlbase“),
fs = erfordern('fs'),
crawlbaseToken = 'IHR_CRAWLBASE_TOKEN',
API = neu CrawlingAPI({ Zeichen: crawlbaseToken }),
wayfairPageURL = „https://www.wayfair.com/furniture/sb0/sofas-c413892.html“;

api.bekommen(wayfairPageURL).dann(HandleCrawlResponse).Fang(CrawlError behandeln);
Funktion handleCrawlResponse(Antwort) {
if (Antwort.Statuscode === 200) {
fs.SchreibeFileSync('antwort.html', Antwort.Körper);
trösten.Log(„HTML in response.html gespeichert“);
}
}

Funktion handleCrawlError(Fehler) {
trösten.Fehler(Fehler);
}

Code-Erklärung:

  • Das Skript importiert die erforderlichen Module: CrawlingAPI von „crawlbase“ und „fs“ für Dateisystemoperationen.
  • Es richtet ein CrawlingAPI Instanz mit einem angegebenen Token und definiert die zu crawlende URL, bei der es sich um die Kategorieseite der Wayfair-Möbel handelt.
  • Das Skript ruft die get() Methode der CrawlingAPI Instanz mit der Wayfair-Seiten-URL und gibt Callback-Funktionen für die Erfolgsbehandlung an (handleCrawlResponse) und Fehler (handleCrawlError).
  • Im handleCrawlResponse Funktion prüft, ob der Antwortstatuscode 200 ist (was Erfolg anzeigt), und schreibt dann den HTML-Inhalt der Antwort in eine Datei mit dem Namen „response.html“ unter Verwendung fs.writeFileSync() und protokolliert eine Erfolgsmeldung.
  • Im Falle eines Fehlers beim Crawlen wird der handleCrawlError Funktion protokolliert den Fehler in der Konsole.

HTML-Ausgabe:

Wayfair HTML-Daten

5. Scrapen Sie die Preisdaten des Wayfair-Produkts in JSON

In diesem Abschnitt lernen wir, die Preisdaten von Wayfair-Produkten in JSON für die Wayfair-Preisverfolgung zu scrapen. Dazu erstellen wir einen benutzerdefinierten JavaScript-Scraper mit zwei Bibliotheken: cheerio, das häufig für Web Scraping verwendet wird, und fs, das bei Dateioperationen hilft. Das Skript analysiert den HTML-Code der Wayfair-Webseite, den wir im vorherigen Beispiel erhalten haben, extrahiert die Produktpreise aus response.html, und organisieren Sie sie in einem JSON-Array.

Schritt 1: Erforderliche Bibliotheken importieren:

1
2
3
4
const fs = erfordern('fs'),
tschüss = erfordern("Tschüs"),
htmlContent = fs.lesenFileSync('antwort.html', 'utf-8'),
$ = Prost.Belastung(html-Inhalt);

Schritt 2: Produktpreis abkratzen:

Wayfair-Preisverfolgung

Um Produktpreise von einer Webseite abzurufen, öffnen Sie zunächst die Webseite in Ihrem Browser. Klicken Sie dann mit der rechten Maustaste auf ein Produkt und wählen Sie „Untersuchen“, um dessen Code anzuzeigen. Suchen Sie nach dem Teil des Codes, der den Preis des Produkts anzeigt. Dieser Teil befindet sich normalerweise in einem Feld namens „Karte“, das Informationen über das Produkt enthält.

Wenn Sie die Karte gefunden haben, identifizieren Sie den spezifischen Teil des Codes, der den Preis darstellt. Er könnte einen Attributnamen wie “data-test-id”. Anschließend können Sie ein Tool wie Cheerio verwenden, um diesen Teil des Codes anhand seines Attributnamens zu finden.

Nachdem Sie das Preiselement mit Cheerio gefunden haben, verwenden Sie die ".text()" -Methode, um den Text darin zu erfassen. Dadurch erhalten Sie den Preiswert zusammen mit allen zusätzlichen Zeichen oder Leerzeichen. Um es zu bereinigen und nur den Preis zu erhalten, verwenden Sie die ".trim()" Methode. Dadurch werden alle unnötigen Leerzeichen um den Preistext entfernt, sodass Sie ein sauberes Ergebnis erhalten.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const Produkte = {};

//Wählen Sie jede Produktkarte aus und extrahieren Sie Name und Preis
$('div[data-hb-id="Karte"]').jeder((Index, Element) => {
lassen Produktname = $(Element).gefunden('p[data-test-id="ListingCard-ListingCardName-Text"]').Text().trimmen();
lassen Produktpreis = $(Element).gefunden('span[data-test-id="Preisanzeige"]').Text().trimmen();

//Überprüfen Sie, ob der Produktname leer ist. Wenn ja, weisen Sie eine Standardnachricht zu.
if (Produktname === '') {
Produktname = „Name ist nicht verfügbar“;
}

// Produktdetails zum Objekt hinzufügen
Produkte[Produktname] = { Preis : Produktpreis };
});

Vollständiger Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const fs = erfordern('fs');
const tschüss = erfordern("Tschüs");

// HTML-Datei lesen
fs.readFile('antwort.html', 'utf8', (äh, Daten) => {
if (äh) {
trösten.Fehler(„Fehler beim Lesen der Datei:“, äh);
Rückkehr;
}

// HTML-Inhalt in Cheerio laden
const $ = Prost.Belastung(Daten);

// Objekt zum Speichern von Produktdetails
const Produkte = {};

//Wählen Sie jede Produktkarte aus und extrahieren Sie Name und Preis
$('div[data-hb-id="Karte"]').jeder((Index, Element) => {
lassen Produktname = $(Element).gefunden('p[data-test-id="ListingCard-ListingCardName-Text"]').Text().trimmen();
lassen Produktpreis = $(Element).gefunden('span[data-test-id="Preisanzeige"]').Text().trimmen();

//Überprüfen Sie, ob der Produktname leer ist. Wenn ja, weisen Sie eine Standardnachricht zu.
if (Produktname === '') {
Produktname = „Name ist nicht verfügbar“;
}

// Produktdetails zum Objekt hinzufügen
Produkte[Produktname] = { Preis : Produktpreis };
});

// Produktdetails als JSON protokollieren
trösten.Log(JSON.stringifizieren(Produkte, null, 2));
});

JSON-Ausgabe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"Name ist nicht verfügbar": {
"Preis": "$ 899.99"
},
"Mahwah 98'' Chenille-Sofa mit quadratischen Armlehnen": {
"Preis": "$ 689.99"
},
"Adelmina 88.6'' Polstersofa": {
"Preis": "$ 444.99"
},
"Azita 49'' Sofa für zwei Personen aus Kunstleder": {
"Preis": "$ 217.99"
},
"Vroni 71.6" Sofa mit quadratischen Armlehnen": {
"Preis": "$ 439.99"
},
"Arsha 84'' gepolstertes Sofa": {
"Preis": "$ 389.99"
},
"Schlafsofa": {
"Preis": "$ 424.42"
},
"Bolware 79" Handgefertigtes 3-Sitzer-Sofa, gepolstertes, getuftetes Sofa, Massivholzsofa": {
"Preis": "$ 389.99"
},
„Barrientez 85'' gepolstertes Schlafsofa“: {
"Preis": "$ 419.99"
},
"Perdue 81.5" Verwandelbares Sofa aus Samt mit quadratischen Armlehnen": {
"Preis": "$ 399.99"
},
"Arvida 54'' gepolstertes Sofa für zwei Personen": {
"Preis": "$ 213.99"
},
"Benitez Twin 76'' umwandelbares Sofa aus Kunstleder mit Steppnähten": {
"Preis": "$ 294.99"
},
"Liudmila 86'' Polstersofa": {
"Preis": "$ 405.99"
}
}

6. Wayfair-Preisdaten in einer CSV-Datei speichern

In diesem Abschnitt implementieren wir einen Prozess zum Speichern der Scraped-Produktdaten in einer CSV-Datei. Dabei wird das fs (Dateisystem) Modul zum Lesen der HTML-Antwortdatei, Analysieren mit Cheerio zur Datenextraktion und anschließendem Verwenden des csv-writer Bibliothek, um die extrahierten Daten in eine CSV-Datei zu schreiben.

Der Code liest eine HTML-Datei mit der Antwort einer Website, extrahiert Produktdetails wie Name und Preis mithilfe von Cheerio und speichert sie in einem Array. Anschließend verwendet er csv-writer erstellt eine CSV-Datei mit dem Namen „wayfair-prices.csv“ und schreibt die Produktdetails hinein. Der Name und der Preis jedes Produkts werden in separaten Spalten gespeichert.

Zusätzlich müssen sie die csv-writer Bibliothek durch Ausführen npm install csv-writer in ihrem Terminal/Eingabeaufforderung, bevor sie den Code ausführen. Diese Bibliothek ermöglicht das Schreiben von Daten in CSV-Dateien in einem strukturierten Format und vereinfacht so das Speichern von Scraped-Daten zur weiteren Analyse oder Verwendung.

1
npm installiere CSV-Writer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const fs = erfordern('fs');
const tschüss = erfordern("Tschüs");
const csvWriter = erfordern(„CSV-Writer“).ObjektCsvWriter erstellen;

// HTML-Datei lesen
fs.readFile('antwort.html', 'utf8', (äh, Daten) => {
if (äh) {
trösten.Fehler(„Fehler beim Lesen der Datei:“, äh);
Rückkehr;
}

// HTML-Inhalt in Cheerio laden
const $ = Prost.Belastung(Daten);

// Array zum Speichern von Produktdetails
const Produkte = [];

//Wählen Sie jede Produktkarte aus und extrahieren Sie Name und Preis
$('div[data-hb-id="Karte"]').jeder((Index, Element) => {
lassen Produktname = $(Element).gefunden('p[data-test-id="ListingCard-ListingCardName-Text"]').Text().trimmen();
lassen Produktpreis = $(Element).gefunden('span[data-test-id="Preisanzeige"]').Text().trimmen();

//Überprüfen Sie, ob der Produktname leer ist. Wenn ja, weisen Sie eine Standardnachricht zu.
if (Produktname === '') {
Produktname = „Name ist nicht verfügbar“;
}

// Produktdetails in das Array übertragen
Produkte.drücken({ Name: Produktname, Preis : Produktpreis });
});

// Produktdetails in CSV-Datei schreiben
const csvWriterInstance = csvWriter({
Weg: „wayfair-preise.csv“,
Kopfzeile: [
{ id: 'Süßkartoffel', Titel: 'Produktname' },
{ id: 'Preis', Titel: 'Preis' },
],
});

csvWriterInstance
.Datensätze schreiben(Produkte)
.dann(() => trösten.Log('CSV-Datei erfolgreich geschrieben'))
.Fang((sich irren) => trösten.Fehler(„Fehler beim Schreiben der CSV-Datei:“, ähm));
});

Abschließende Überlegungen

In diesem Artikel haben wir gelernt, wie man mit Crawlbase einen Wayfair-Preistracker erstellt Crawling API und JavaScript. Wir begannen damit, die HTML-Daten von der Wayfair-Webseite abzurufen und sie in einer Datei namens response.html. Dann haben wir einen speziellen Schaber gemacht, um die Namen und Preise jedes Produkts von der Webseite. Wir hoffen, dieses Tutorial war hilfreich und leicht verständlich. Wenn Sie Fragen oder Feedback zu diesem Artikel haben, wenden Sie sich bitte an Crawlbase-Unterstützung. Unser Team wird sich innerhalb eines Tages bei Ihnen melden.

Verwandte Anleitungen:

So scrapen Sie Trulia

Wie man Wikipedia scrapt

So scrapen Sie TripAdvisor

So scrapen Sie Google News

Häufig gestellte Fragen

Was ist ein Wayfair-Preistracker?

Mit dem Wayfair-Preistracker können Sie die Preise der auf dem Wayfair-Online-Marktplatz gelisteten Produkte überwachen. Er sammelt automatisch Preisinformationen für bestimmte Artikel und informiert Benutzer über Preisänderungen im Laufe der Zeit. Durch die Verwendung eines solchen Tools können Käufer über Preisschwankungen informiert bleiben, sodass sie fundiertere Kaufentscheidungen treffen und möglicherweise Geld sparen können, indem sie von Rabatten oder Preissenkungen profitieren, die von Wayfair-Verkäufern angeboten werden.

Was ist die Wayfair-Preisverfolgung?

Bei der Preisverfolgung von Wayfair werden die Produktpreise auf der Wayfair-Plattform überwacht, um über Schwankungen, Rabatte und Sonderangebote informiert zu bleiben. Es hilft Verbrauchern, fundierte Kaufentscheidungen zu treffen und möglicherweise Geld zu sparen, indem sie ihre Einkäufe strategisch planen.

Wie funktioniert die Preisgestaltung bei Wayfair?

Die Preisgestaltung bei Wayfair basiert auf einem dynamischen Modell, das von verschiedenen Faktoren wie Produktnachfrage, Verfügbarkeit und Wettbewerb beeinflusst wird. Verkäufer auf Wayfair legen ihre eigenen Preise fest, die je nach Markt Bedingungen. Darüber hinaus kann Wayfair die Preise regelmäßig anpassen, um auf dem Online-Markt wettbewerbsfähig zu bleiben. Rabatte, Werbeaktionen und Verkaufsveranstaltungen tragen ebenfalls zu Preisschwankungen bei. Dieses dynamische Preissystem ermöglicht es Wayfair, sich schnell an Marktveränderungen anzupassen und den Kunden gleichzeitig eine Reihe von Preisoptionen für Produkte in verschiedenen Kategorien anzubieten.

Können sich die Preise bei Wayfair ändern?

Wayfair ist für seine schwankenden Preise bekannt, die sich oft an verschiedenen Standorten und sogar innerhalb eines einzigen Tages ändern. Diese Preisschwankungen werden hauptsächlich durch Wayfairs algorithmisches Preismodell, das ständig Daten in Echtzeit sammelt und analysiert. Aufgrund dieser dynamischen Schwankungen kann es für Verbraucher schwierig sein, einen festen Preis für ein bestimmtes Produkt festzulegen. Das Verfolgen dieser Preisänderungen auf Wayfair und den zugehörigen Websites wird für Benutzer noch schwieriger.

Um durch diese Preisschwankungen zu navigieren und die besten Angebote für Wayfair-Produkte zu finden, ist ein zuverlässiger Preisverfolgungs- und -überwachungsdienst unerlässlich. Durch den Einsatz einer Lösung wie Crawlbase Crawling APIkönnen Benutzer die Preise von Wayfair effektiv überwachen. So können Benutzer fundierte Kaufentscheidungen treffen und sich die bestmöglichen Angebote für Wayfair-Produkte sichern.

Ist die Nutzung des Wayfair-Preistrackers legal?

Die Verwendung eines Wayfair-Preistrackers ist grundsätzlich legal, da dabei öffentlich verfügbare Informationen auf der Wayfair-Website überwacht werden. Benutzer sollten jedoch sicherstellen, dass sie die Servicebedingungen von Wayfair sowie alle geltenden Gesetze oder Vorschriften in Bezug auf Datenscraping und Online-Aktivitäten einhalten. Es ist wichtig, den Preistracker nur für den persönlichen Gebrauch zu verwenden und alle Aktionen zu vermeiden, die als missbräuchlich angesehen werden könnten oder gegen die Nutzungsbedingungen der Website verstoßen. Wenn Sie sich über die Rechtmäßigkeit der Verwendung solcher Tools nicht sicher sind, ziehen Sie immer einen Rechtsberater zu Rate.

Wie kann ich Preissenkungen bei Wayfair verfolgen?

Um Preissenkungen bei Wayfair zu verfolgen, ist eine effektive Methode die Verwendung eines Web Scraping Tools wie Crawlbase Crawling API. Diese API kann Produktpreise in Echtzeit von der Wayfair-Website extrahieren, sodass Benutzer Änderungen effizient überwachen können. Durch die Integration der Crawlbase-API in ihr System können Benutzer den Prozess der Erfassung von Preisdaten von Wayfair automatisieren, sodass sie über Preissenkungen informiert bleiben und rechtzeitig Kaufentscheidungen treffen können, um sich die besten Angebote zu sichern.