In dieser Anleitung erfahren Sie, wie Sie Craigslist.com durchsuchen. Craig Newmark startete die Site 1995 als E-Mail-Liste, um Ereignisse in der San Francisco Bay Area zu teilen. Bis 1996 wurde daraus eine Website und sie wuchs weiter, bis sie zur größten Kleinanzeigenplattform in den Vereinigten Staaten wurde. Heute bedient sie Menschen aus 70 Ländern und verzeichnet jeden Monat mehr als 20 Milliarden Besuche.
Jeden Monat gehen bei Craigslist über 80 Millionen Kleinanzeigen in den verschiedensten Kategorien ein, darunter Stellenangebote, Wohnungen, Verkaufsartikel, Dienstleistungen und Gemeinschaftsveranstaltungen. Obwohl Craigslist in den USA und Kanada begann, wurde es schnell global. Heute ist es eine beliebte Anlaufstelle für die Suche nach allem von Jobs und Wohnungen bis hin zu Dienstleistungen und lokalen Aktivitäten.
Dieser Artikel zeigt Ihnen die Verwendung von JavaScript und den Crawlbase Crawling API um Produktlisten von Craigslist zu scrapen. Sie erfahren, wie Sie wichtige Daten scrapen können, wie Produktpreise, Titel, Standorte und URLs ohne auf irgendwelche Sperren oder Einschränkungen zu stoßen.
Inhaltsverzeichnis
- Installieren Sie die erforderlichen Bibliotheken
- Einrichten des Projekts
- Extrahieren Sie Craigslist.com-HTML-Daten aus Suchlisten
- Scrape Craigslist.com Produkttitel in JSON
- Craigslist.com Produktpreis abkratzen
- Scrape Craigslist.com Produktstandort
- Scrapen der Craigslist.com-Produkt-URL
- Vervollständigen Sie abschließend den Code
- Craigslist-Daten in CSV-Datei speichern
1. Installieren Sie die erforderlichen Bibliotheken
Stellen Sie sicher, dass Node.js auf Ihrem Computer installiert ist, um JavaScript für Web Scraping auszuführen. Lernen Sie die Grundlagen von JavaScript, wie Variablen, Funktionen, Schleifen und einfache Webseitenmanipulation, da diese für unser Scraping-Skript unerlässlich sind. Anfänger können sich zum Einstieg Anfänger-Tutorials auf Websites wie Mozilla Developer Network (MDN) oder W3Schools ansehen.
Um Daten von Craigslist.com effizient abzurufen, benötigen Sie ein API-Token von Crawlbase. Erstellen Sie ein kostenloses Konto, indem Sie Anmeldung Gehen Sie auf ihrer Website zu Ihren Kontoeinstellungen und suchen Sie nach Ihren API-Token. Diese Token funktionieren wie Schlüssel und gewähren Zugriff auf die Funktionen von Crawling API, wodurch das Datenscraping reibungslos und effizient erfolgt.
2. Einrichten des Projekts
Schritt 1: Erstellen Sie einen neuen Projektordner:
Öffnen Sie Ihr Terminal und geben Sie ein mkdir craigslist-scraper
um einen neuen Ordner für Ihr Projekt zu erstellen.
1 | mkdir craigslist-scraper |
Schritt 2: Navigieren Sie zum Projektordner:
Enter cd craigslist-scraper
, um sie in den neu erstellten Ordner zu verschieben. Dadurch wird die Verwaltung Ihrer Projektdateien einfacher.
1 | CD Craigslist-Scraper |
Schritt 3: Generieren Sie eine JavaScript-Datei:
Typ touch index.js
um eine neue Datei mit dem Namen index.js in Ihrem Projektordner zu erstellen. Sie können bei Bedarf auch einen anderen Namen wählen.
1 | berühren Sie index.js |
Schritt 4: Fügen Sie das Crawlbase-Paket hinzu:
Installieren Sie die Crawlbase Node-Bibliothek für Ihr Projekt, indem Sie npm install crawlbase in Ihrem Terminal ausführen. Diese Bibliothek vereinfacht die Verbindung zur Crawlbase Crawling API, wodurch das Scraping von Craigslist-Daten erleichtert wird.
1 | npm installiere Crawlbase |
Schritt 5: Installieren Sie Fs, JSdom, Json2Csv:
Installieren Sie fs für die Dateisysteminteraktion, jsdom für die HTML-Analyse und json2csv für die Konvertierung von JSON in CSV. Diese Module ermöglichen wichtige Funktionen in Ihrem Craigslist-Daten-Scraper-Projekt und erleichtern Dateioperationen, DOM-Manipulation und Datenformatkonvertierung.
1 | npm installiere fs jsdom json2csv |
Sobald Sie diese Schritte abgeschlossen haben, können Sie mit dem Erstellen Ihres Craigslist-Daten-Scrapers beginnen!
3. Extrahieren Sie Craigslist.com-HTML-Daten aus Suchlisten
Sobald Sie Ihre API-Anmeldeinformationen erhalten und die Crawlbase Node.js-Bibliothek für Web Scraping installiert haben, können Sie mit der Arbeit an der Datei „touch.js“ beginnen. Wählen Sie die Craigslist-Suchlistenseite aus, von der Sie Daten scrapen möchten. Verwenden Sie in der Datei „touch.js“ die Crawlbase Crawling API zusammen mit der fs-Bibliothek, um Informationen von der von Ihnen gewählten Craigslist-Seite abzurufen. Achten Sie darauf, die Platzhalter-URL im Code durch die tatsächliche URL der Seite zu ersetzen, die Sie abrufbar machen möchten.
1 | const { CrawlingAPI } = erfordern(„Crawlbase“), |
Code-Erklärung:
Dieser JavaScript-Code zeigt, wie man die fs-Bibliothek verwendet, um Daten von einer bestimmten URL über eine HTTP-GET-Anfrage abzurufen. Was ihn einzigartig macht, ist seine Integration mit Crawlbase Crawling API, das Web Scraping im großen Maßstab verbessert und ermöglicht. Lassen Sie uns nun den Code genauer analysieren.
Erforderliche Bibliotheken:
Das Skript erfordert die folgenden Bibliotheken:
- Crawlbase: Diese Bibliothek erleichtert das Web Scraping mit der Crawlbase Crawling API.
- fs: Dies ist das für Dateioperationen verwendete Dateisystemmodul von Node.js.
1 | const { CrawlingAPI } = erfordern(„Crawlbase“), |
Initialisierung:
- CrawlingAPI und fs werden aus ihren jeweiligen Bibliotheken importiert.
- Ein Token für den Zugriff auf die Crawlbase-API wird als crawlbaseToken bereitgestellt.
- Mit dem bereitgestellten Token wird eine Instanz von CrawlingAPI erstellt.
- Die URL der zu scrapenden Craigslist-Suchlistenseite ist in craigslistPageURL gespeichert.
1 | const crawlbaseToken = 'IHR_CRAWLBASE_TOKEN', |
Crawling-Prozess:
Die Methode api.get() wird mit der Craigslist-Seiten-URL als Argument aufgerufen, um den Scraping-Prozess zu starten.
- Wenn die Anforderung erfolgreich ist, wird die Funktion handleCrawlResponse aufgerufen, um die Antwort zu verarbeiten.
- Wenn während des Crawling-Vorgangs ein Fehler auftritt, wird die Funktion handleCrawlError aufgerufen, um den Fehler zu behandeln.
1 | api.bekommen(Craigslist-Seiten-URL).dann(HandleCrawlResponse).Fang(CrawlError behandeln); |
Handhabungsantwort:
In der Funktion handleCrawlResponse:
- Es prüft, ob der Antwortstatuscode 200 lautet (was eine erfolgreiche Anfrage anzeigt).
- Bei Erfolg wird der HTML-Antworttext mit fs.writeFileSync() in eine Datei mit dem Namen „response.html“ geschrieben.
- In der Konsole wird eine Erfolgsmeldung protokolliert, die angibt, dass das HTML gespeichert wurde.
1 | Funktion handleCrawlResponse(Antwort) { |
Fehlerbehandlung:
In der Funktion handleCrawlError:
- Alle während des Crawling-Vorgangs auftretenden Fehler werden zu Debugging-Zwecken in der Konsole protokolliert.
1 | Funktion handleCrawlError(Fehler) { |
HTML-Ausgabe:
4. Scrapen Sie den Produkttitel von Craigslist.com in JSON
In diesem Abschnitt werden wir uns ansehen, wie man wertvolle Daten von den Suchlistenseiten von Craigslist abgreift. Die Daten, die wir abgreifen möchten, umfassen Elemente wie Produkttitel, Preise, Standorte und URLs. Um diese Aufgabe abzuschließen, erstellen wir einen benutzerdefinierten JavaScript-Scraper mit zwei wichtigen Bibliotheken: jsdom, das häufig zum Parsen und Bearbeiten von HTML-Dokumenten verwendet wird, und fs, das Dateioperationen vereinfacht. Das folgende Skript analysiert die HTML-Struktur der Suchergebnisseiten von Craigslist (die wir im vorherigen Beispiel in der Datei response.html erhalten haben), scrapt die relevanten Informationen und organisiert sie in einem JSON-Array.
Um den Produkttitel abzurufen, verwenden Sie Browser-Entwicklertools, um die Stelle zu finden, an der jede Auflistung angezeigt wird. Identifizieren Sie den spezifischen Abschnitt der Webseite, der den Produkttitel enthält. Verwenden Sie anschließend JSdom-Selektoren wie .querySelector, um dieses Element basierend auf seiner Klasse präzise anzusprechen. Verwenden Sie die Methode .textContent(), um den Textinhalt zu extrahieren, und verwenden Sie .trim(), um sicherzustellen, dass er sauber ist.
1 | const fs = erfordern('fs'), |
5. Craigslist.com-Produktpreis abkratzen:
In diesem Abschnitt sehen wir uns an, wie man Produktpreise aus dem gecrawlten HTML der Craigslist-Listing-Seite extrahiert.
1 | Produkt.Preis = aktuellesElement.querySelector('.Preis').Textinhalt.trimmen(); |
6. Scrapen Sie den Produktstandort von Craigslist.com:
Der Produktstandort bietet nützliche Details zum Standort des Produkts, die für eine Vielzahl von Studien und kommerziellen Zielen wichtig sind. Beim Scraping des Produktstandorts verwenden wir das JSdom-Paket, um den HTML-Text zu analysieren und die erforderlichen Informationen zu finden.
1 | Produkt.Standort = aktuellesElement.querySelector('.Standort').Textinhalt.trimmen(); |
7. Scrapen Sie die Produkt-URL von Craigslist.com:
Ähnlich wie in den vorherigen Schritten verwenden wir das JSdom-Paket, um den HTML-Inhalt zu analysieren und die erforderlichen Informationen zu finden.
1 | Produkt.URL = aktuellesElement.querySelector('A').getAttribut('href'); |
8. Vervollständigen Sie abschließend den Code
1 | const fs = erfordern('fs'), |
JSON-Antwort:
1 | [ |
9. Craigslist.com-Daten in CSV-Datei speichern
Stellen Sie vor dem Ausführen des folgenden Codes sicher, dass Sie das Paket json2csv installiert haben, indem Sie npm install json2csv ausführen. Dieses Skript liest die Datei products.json, die Sie im vorherigen Schritt extrahiert haben, gibt die in die CSV-Datei aufzunehmenden Felder an, konvertiert die JSON-Daten in das CSV-Format und schreibt die CSV-Daten dann in eine Datei mit dem Namen products.csv.
1 | const fs = erfordern('fs'), |
Ausschnitt der CSV-Ausgabedatei:
Das Scraping von Craigslist-Daten ist nützlich, um den Markt zu untersuchen, mögliche Leads zu identifizieren, Konkurrenten zu analysieren und Datensätze zu sammeln. Craigslist verwendet jedoch strenge Sicherheitsmaßnahmen wie IP-Sperren und CAPTCHA-Screens, was das Scraping erschwert. Die Crawlbase Crawling API behebt dieses Problem, indem es Ihnen ermöglicht, die öffentlichen Einträge von Craigslist in großem Umfang zu durchsuchen, ohne auf IP-Sperren oder CAPTCHA-Schwierigkeiten zu stoßen. Diese Anleitung zeigt, wie Sie Immobilieneintragsdaten von Craigslist durchsuchen und als JSON- und CSV-Dateien speichern.
Weitere Anleitungen zu ähnlichen Methoden finden Sie unter Trulia, Realtor.com, Zillow und Target.com. Diese Ressourcen sind wertvoll, um Ihre Fähigkeiten zum Daten-Scraping auf verschiedenen Plattformen zu verbessern.
Zusätzliche Anleitungen:
So scrapen Sie Websites mit ChatGPT
So erstellen Sie einen Wayfair-Preistracker
So scrapen Sie TripAdvisor mit Smart Proxy
So scrapen Sie Instagram-Daten
10. Häufig gestellte Fragen
Zum Abschluss dieses Leitfadens wollen wir uns mit häufig gestellten Fragen zum Scraping von Craigslist-Daten befassen.
Was ist die Geschichte von Craigslist.com?
Craig Newmark gründete Craigslist im Jahr 1995. Es begann als E-Mail-Liste, um lokale Veranstaltungen und Kleinanzeigen in San Francisco zu teilen. Bis 1996 hatte es sich zu einer Website entwickelt, die sich schnell zu einem der Top-Kleinanzeigenziele weltweit entwickelte. Auch nachdem es anfing, Geld zu verdienen, blieb es auf die Hilfe für Einzelpersonen ausgerichtet und verlangte geringe Gebühren für Stellen- und Wohnungsanzeigen. Es wurde auf andere Länder ausgeweitet, darunter Kanada und das Vereinigte Königreich. Craigslist behält seine Popularität trotz einiger Probleme bei, indem es die Dinge unkompliziert hält und lokale Gemeinschaften unterstützt, insbesondere mit Craig Newmarks wohltätigen Beiträgen.
Erlaubt Craigslist Scraping?
Das Scraping öffentlich verfügbarer Informationen ist legal, aber die Gesetze können unterschiedlich sein. Daher ist eine professionelle Rechtsberatung ratsam, bevor Sie mit Scraping-Projekten auf Craigslist beginnen. Craigslist verbietet automatisiertes Scraping, während manueller Zugriff für den persönlichen Gebrauch erlaubt ist. Unbefugtes Scraping kann zu Zugriffssperren oder rechtlichen Konsequenzen führen. Urheberrecht und Datenschutz sind zwei ethische und rechtliche Aspekte, die berücksichtigt werden müssen, da ihre Rechtmäßigkeit je nach Gerichtsbarkeit unterschiedlich ist. Um mehr über Scraping zu erfahren, lesen Sie die „Ist Web Scraping legal?“ Artikel.
Verfügt Craigslist über eine offizielle API?
Craigslist.com bietet keine offizielle API für den Zugriff auf seine Daten. Während einige Bereiche RSS-Feeds für einen eingeschränkten Datenzugriff anbieten, ist keine umfassende API verfügbar. Daher greifen Entwickler häufig auf Web Scraping-Techniken zurück, um Daten von Craigslist zu extrahieren.
Wie vermeidet man Craigslist-CAPTCHAs?
Um Craigslist CAPTCHAs zu vermeiden, sollten Sie eine zuverlässige API wie Crawlbase verwenden Crawling API. Diese API schützt Webcrawler vor blockierten Anfragen, Proxy-Fehlern, IP-Lecks, Browserabstürzen und CAPTCHAs. Die künstlichen Intelligenzalgorithmen und das Entwicklungsteam von Crawlbase optimieren ständig Techniken, um das beste Crawling-Erlebnis zu bieten. Benutzer können solche leistungsstarken Programme verwenden, um CAPTCHAs zu überwinden und Daten von Craigslist und anderen Websites ohne Verzögerungen oder Zugriffsbeschränkungen zu sammeln.
Warum Craigslist scrapen?
Craigslist ist eine hilfreiche Ressource, die eine Vielzahl von Anzeigen in verschiedenen Kategorien bietet, darunter Stellenangebote, Immobilien, Dienstleistungen und Produkte zum Verkauf. Craigslist bietet viele Informationen, aber Sicherheitsfunktionen wie IP-Filterung und CAPTCHA-Probleme erschweren das Scraping. Mit Crawlbase Crawling APIkönnen diese Herausforderungen überwunden werden, wodurch Unternehmen und Forscher für verschiedene Zwecke auf wertvolle Daten zugreifen können.
So kann das Scraping von Craigslist mit Crawlbase von Vorteil sein:
- Marktforschung und Wettbewerbsanalyse: Unternehmen können sich über Preistrends, Verbrauchernachfrage und Strategien der Konkurrenz informieren, indem sie Craigslist-Einträge durchsuchen. Durch die Analyse dieser Daten wird es einfacher, Markttrends zu verstehen, Lücken zu erkennen und kluge Entscheidungen zu treffen, um der Konkurrenz einen Schritt voraus zu sein.
- Lead-Generierung: Craigslist Scraping erleichtert die Leadgenerierung, indem es Kontaktdaten von potenziellen Verbrauchern oder Kunden sammelt. Dazu gehören Telefonnummern und E-Mail-Adressen, die für gezielte Marketingkampagnen und Vertriebsaktivitäten verwendet werden können.
- Immobilien-Einblicke: Craigslist Scraping bietet Immobilienexperten und Immobilieninvestoren hervorragende Informationen zum Immobilienmarkt. Durch die Verfolgung von Mietpreisen, Immobilienangeboten und regionalen Trends können Sie fundiertere Investitionsentscheidungen treffen und Ihre Preisstrategie an die Marktbedingungen anpassen.
- Arbeitsmarktanalyse: Arbeitssuchende und Arbeitgeber können Craigslist Scraping nutzen, um in Echtzeit auf Daten zu Stellenausschreibungen zuzugreifen. Durch die Analyse von Jobtrends, Qualifikationsanforderungen und Gehaltsvorstellungen können Arbeitssuchende ihren Lebenslauf anpassen und Arbeitgeber ihre Rekrutierungsstrategien optimieren.
- E-Commerce-Optimierung: Craigslist Scraping ist ein nützliches Tool für E-Commerce-Unternehmen, um die Preise der Konkurrenz zu verfolgen, Produkttrends zu erkennen und ihre eigenen Angebote zu verbessern. Durch den Einsatz datengesteuerter Strategien, um relevante Produkte zu wettbewerbsfähigen Preisen anzubieten, können Unternehmen auf dem Online-Markt wettbewerbsfähig bleiben.