Wie viele andere Transaktionen ist der Kauf oder Verkauf eines Fahrzeugs für die meisten Menschen eine wichtige Entscheidung. Carsandbids.com ist eine beliebte Plattform, auf der Sie ein Auto über Auktionen kaufen oder verkaufen können. Wie bei den meisten E-Commerce-Plattformen kann es jedoch schwierig sein, viele Webseiten zu durchsuchen, bevor Sie Ihre Wahl treffen.

Web Scraping ist eine großartige Möglichkeit, Daten von Websites zu sammeln. Wenn Sie Markttrends analysieren, detaillierte Informationen zu Fahrzeugen erhalten oder Auktionsergebnisse ansehen möchten, ist es eine gute Idee, Daten von Websites wie Carsandbids.com zu scrapen.

In diesem Blog führen wir Sie durch den Prozess des Scrapings von Carsandbids.com mit Crawlbases Crawling API in Python. Sie lernen, wie Sie Ihre Umgebung einrichten, die Struktur der Website verstehen und Daten effizient extrahieren.

Hier ist eine ausführliche Anleitung zum Scrapen von carsandbids.com:

Inhaltsverzeichnis

  1. Warum Carsandbids.com scrapen?
  • Vorteile des Scrapings von Carsandbids.com
  • Wichtige Datenpunkte von Carsandbids.com
  1. Benötigte Tools und Bibliotheken
  • Einrichten Ihrer Umgebung
  • Installieren der erforderlichen Bibliotheken
  1. Die Struktur von Carsandbids.com verstehen
  • Übersicht über die Suchergebnisseite
  • Übersicht der Produktseite
  1. Crawlbase verwenden Crawling API
  • Einführung in Crawlbase Crawling API
  • Einrichten von Crawlbase Crawling API
  1. Scraping der Suchergebnisseite
  2. Scraping der Produktseite
  3. Mit Crawlbase Carsandbids effizient durchsuchen (Abschließende Gedanken)
  4. Häufig gestellte Fragen

Warum Carsandbids.com scrapen?

Durch das Scraping von Carsandbids.com können wir eine große Menge an Daten zu Fahrzeugauktionen erhalten, die wir für verschiedene Zwecke verwenden können. Diese Website bietet eine große Auswahl an Autoauktionen, wobei jedes Fahrzeug detailliert beschrieben wird, einschließlich Spezifikationen, Auktionsverlauf und Verkäuferdetails.

Vorteile des Scrapings von Carsandbids.com

Das Scraping von Carsandbids.com bietet Datenfreaks und Profis mehrere Vorteile:

  • Umfassende Datenerfassung: Wichtige Informationen aus der Auflistung jedes Autos wie Marke, Modell, Baujahr, bisherige Kilometerleistung, Zustand und Auktionspreis.
  • Markteinblicke in Echtzeit: Beobachten Sie laufende Auktionen, um Gebote zu verfolgen und Marktveränderungen zu beobachten.
  • Competitive Analysis: Untersuchen Sie Auktionsergebnisse, um auch Trends auf dem Markt und bei der Konkurrenz zu verstehen.
  • Verbesserte Forschung: Verwenden Sie die gesammelten Daten für ausführliche Studien über den Wertverlust von Autos, Käuferpräferenzen und andere Trends in der Automobilbranche.
  • Automatisierte Überwachung: Behalten Sie bestimmte Autoangebote und deren Auktionsergebnisse im Auge, ohne dies manuell tun zu müssen.

Wichtige Datenpunkte von Carsandbids.com

Durch das Scraping von Carsandbids.com können Sie eine Vielzahl detaillierter Informationen sammeln:

carsandbids.com wichtige Datenpunkte

1. Fahrzeuginformationen:

  • Machen und modellieren: Identifizieren Sie den Hersteller und das spezifische Modell des Autos.
  • Jahr: Bestimmen Sie das Baujahr des Autos.
  • Kilometerstand: Erfassen Sie Daten zur Anzahl der mit dem Auto gefahrenen Kilometer.
  • Anforderungen: Informieren Sie sich über den aktuellen Zustand des Autos, einschließlich aller erkennbaren Mängel oder Probleme.
  • Spezifikationen : Erhalten Sie detaillierte Spezifikationen wie Motortyp, PS, Getriebe und mehr.

2. Auktionsdetails:

  • Startpreis: Der für die Auktion festgelegte Anfangspreis.
  • Aktuelles Gebot: Das höchste Gebot zu einem bestimmten Zeitpunkt.
  • Anzahl der Gebote: Verfolgen Sie, wie viele Gebote abgegeben wurden.
  • Auktionsende: Wissen, wann die Auktion endet.
  • Auktionsgeschichte: Überprüfen Sie vergangene Auktionen, um den endgültigen Verkaufspreis und den Gebotsverlauf anzuzeigen.

3. Informationen zum Verkäufer:

  • Verkäuferprofil: Grundlegende Informationen zum Verkäufer.
  • Bewertungen und Rezensionen: Einblicke in die Reputation des Verkäufers basierend auf früheren Transaktionen.

4. Historische Daten:

  • Ergebnisse vergangener Auktionen: Daten zu früheren Verkäufen, einschließlich endgültiger Verkaufspreise und Auktionsdaten.
  • Gebotsmuster: Analyse der Gebotsabgabe im Zeitverlauf bei vergangenen Auktionen.

5. Beschreibungen und Fotos:

  • Fahrzeugbeschreibungen: Detaillierte Beschreibungen von den Verkäufern.
  • Fotos: Bilder des Autos aus verschiedenen Blickwinkeln, um seinen Zustand und seine Eigenschaften zu zeigen.

Scraping von Carsandbids.com mit Crawlbase's Crawling API macht diesen Prozess effizient und effektiv und ermöglicht Ihnen die nahtlose Erfassung und Analyse von Daten. Als Nächstes sprechen wir über die Tools und Bibliotheken, die zum Scrapen von Carsandbids.com erforderlich sind.

Benötigte Tools und Bibliotheken

Um Carsandbids.com effizient zu scrapen, müssen Sie Ihre Umgebung einrichten und einige wichtige Bibliotheken installieren. So gehen Sie dabei vor.

Einrichten Ihrer Umgebung

  1. Installieren Sie Python: Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Es kann heruntergeladen werden von der offizielle Python-Website.
  2. Erstellen Sie eine virtuelle Umgebung: Es ist immer eine gute Praxis, eine virtuelle Umgebung für die Verwaltung Ihrer Projektabhängigkeiten zu haben. Gehen Sie zu Ihrem Terminalfenster und geben Sie die folgenden Befehle ein:
1
2
3
4
5
6
python -m venv Autos und Gebote-Scraper

# Unter macOS/Linux
Quelle carsandbids-scraper/bin/aktivieren
# Unter Windows
.\carsandbids-scraper\Scripts\aktivieren
  1. Wählen Sie eine IDE: Entscheiden Sie sich für eine IDE oder einen Code-Editor, in dem Sie Ihre Skripte schreiben. Häufige Optionen sind PyCharm, Visual Studio-Code, und Sublime Text.

Notwendige Bibliotheken installieren

Sobald die Einrichtung abgeschlossen ist, müssen wir die erforderlichen Bibliotheken installieren. Öffnen Sie Ihr Terminalfenster und führen Sie den folgenden Befehl aus:

1
2
Pip-Installationsanforderungen beautifulsoup4 json
pip installieren crawlbase

Hier ist ein kurzer Überblick über diese Bibliotheken:

  • Zugriffe: Eine einfache HTTP-Bibliothek zum Stellen von Anfragen an Websites.
  • schönesuppe4: Eine Bibliothek zum Parsen von HTML und Extrahieren von Daten aus Webseiten.
  • JSON: Eine Bibliothek zur Verarbeitung von JSON-Daten.
  • Crawlbase: Die Bibliothek zur Interaktion mit den Crawlbase-Produkten zum Scrapen von Websites.

Sobald Sie diese Pakete und Bibliotheken bereit haben, ist es Zeit zum Scrapen. In den folgenden Abschnitten werden wir die Struktur der Site sowie die Verwendung von Crawlbase untersuchen. Crawling API um Daten daraus zu extrahieren.

Die Struktur von Carsandbids.com verstehen

Um Carsandbids.com effektiv durchsuchen zu können, sollten Sie wissen, wie die Webseiten strukturiert sind. In diesem Teil werden wir uns die Hauptkomponenten der Suchergebnisseite und der Produktseite ansehen.

Übersicht über die Suchergebnisseite

Auf der Suchergebnisseite von Carsandbids.com werden mehrere Autoauktionen aufgelistet.

Ein Screenshot der Suchergebnisseite von carsandbids.com

Jede Auflistung enthält normalerweise:

  • Fahrzeugtitel: Marke und Modell des Autos.
  • Vorschaubild: Ein kleines Bild des Fahrzeugs.
  • Auktionsdetails: Informationen wie aktuelles Gebot, verbleibende Zeit und Anzahl der Gebote.
  • Link zur Produktseite: Eine URL, die zur detaillierten Produktseite für jedes Auto weiterleitet.

Wenn Sie diese Elemente verstehen, können Sie beim Scraping der Suchergebnisse auf bestimmte Datenpunkte abzielen.

Übersicht der Produktseite

Auf der Produktseite finden Sie detaillierte Informationen zu einem bestimmten Fahrzeug.

Ein Screenshot der Produktseite von carsandbids.com.

Zu den Schlüsselelementen gehören:

  • Fahrzeugbeschreibung: Detaillierte Informationen zu Marke, Modell, Baujahr, Kilometerstand, Zustand und Spezifikationen des Autos.
  • Bildergalerie: Mehrere Bilder, die verschiedene Aspekte des Fahrzeugs zeigen.
  • Auktionsdetails: Informationen wie Startpreis, aktuelles Gebot, Gebotsverlauf und Auktionsende.
  • Angaben zum Verkäufer: Details zum Verkäufer, einschließlich Profil und etwaiger Bewertungen oder Rezensionen.
  • Weitere Details: Alle zusätzlichen Informationen, die vom Verkäufer bereitgestellt werden, einschließlich Fahrzeughistorie, Wartungsaufzeichnungen und Modifikationen.

Indem Sie sich mit der Struktur dieser Seiten vertraut machen, können Sie Ihre Scraping-Strategie effektiv planen. Im nächsten Abschnitt besprechen wir die Verwendung von Crawlbases Crawling API um Daten von diesen Seiten zu extrahieren.

Crawlbase verwenden Crawling API

Crawlbases Crawling API ist ein robustes Tool, das das Scraping im Web vereinfacht. Der folgende Abschnitt stellt die API vor und führt Sie durch die Einrichtung für das Scraping von Carsandbids.com.

Einführung in Crawlbase Crawling API

Die Crawlbase Crawling API ist eine der beste Web-Crawling-Tools Entwickelt für die Handhabung komplexer Web Scraping-Szenarien wie dynamischer Webseiten von Carsandbids.com. Es bietet eine vereinfachte Möglichkeit, auf Webinhalte zuzugreifen und dabei gängige Herausforderungen wie JavaScript-Rendering, CAPTCHAs und Anti-Scraping-Maßnahmen zu umgehen.

IP-Rotation ist ein herausragendes Merkmal von Crawlbase Crawling API. Durch die Rotation von IP-Adressen wird sichergestellt, dass Ihre Scrape-Anfragen von verschiedenen Orten kommen, wodurch es für Websites schwieriger wird, Scraper zu erkennen und zu blockieren.

Mit Crawlbase Crawling APIkönnen Sie Anfragen an Websites senden und strukturierte Daten zurückerhalten. Mit seiner Parameterkönnen Sie sich um die Darstellung von JavaScript, die Verarbeitung dynamischer Inhalte und die Rückgabe analysierter HTML-Inhalte kümmern.

Einrichten von Crawlbase Crawling API

  1. Registrieren Sie sich und erhalten Sie ein API-Token: Registrieren Sie sich zunächst für ein Konto bei Crawlbase und erhalten Sie Ihren API-Token. Dieser Schlüssel ist für die Authentifizierung Ihrer Anfragen erforderlich.

    Note: Crawlbase bietet zwei Arten von Token an, nämlich normale Token (TCP) für statische Websites und JavaScript-Token (JS) für dynamische oder JavaScript-gesteuerte Websites. Carsandbids.com verlässt sich stark auf JavaScript, um seine Seiten dynamisch zu laden, daher verwenden wir den JavaScript-Token. Für einen reibungslosen Start werden die ersten 1,000 Anfragen an die Crawling API sind kostenlos. Keine Kreditkarte erforderlich.

  2. Initialisieren der API: Importieren CrawlingAPI für Crawlbase Python-Bibliothek und verwenden Sie Ihren API-Token, um die Crawlbase zu initialisieren Crawling API in Ihrem Python-Skript. Hier ist ein einfaches Beispiel:

1
2
3
4
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })
  1. Eine Anfrage machen: Erstellen Sie eine Funktion, um Anfragen an die Crawlbase-API zu stellen. Unten sehen Sie eine Beispielfunktion zum Scrapen einer Suchergebnisseite:
1
2
3
4
5
6
7
8
9
def Crawlbase-Anfrage erstellen(URL):
Antwort = crawling_api.get(URL)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

In den nächsten Abschnitten behandeln wir das Scraping der Suchergebnisseite und der Produktseite im Detail.

Scraping der Suchergebnisseite

Beim Scraping der Suchergebnisseite von Carsandbids.com werden Details zu mehreren Autoangeboten extrahiert. Dieser Abschnitt führt Sie Schritt für Schritt durch den Vorgang, einschließlich Codebeispielen.

Schritt 1: Analysieren Sie die Suchergebnisseite

Machen Sie sich mit der Struktur der Suchergebnisseite vertraut, bevor Sie Code schreiben.

Überprüfen Sie die Suchergebnisseite von carsandbids.com

Identifizieren Sie die HTML-Elemente, die die Daten enthalten, die Sie extrahieren möchten, z. B. Fahrzeugtitel, Miniaturansichten, Auktionsdetails und Links zu Produktseiten.

Schritt 2: Richten Sie Ihr Python-Skript ein

Erstellen Sie ein neues Python-Skript und importieren Sie die erforderlichen Bibliotheken und eine Funktion, um eine Anforderung zu stellen mit Crawling API wie folgt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
importieren JSON
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'CRAWLBASE_JS_TOKEN' })

# Funktion zum Stellen einer Anfrage mithilfe der Crawlbase-API
def Crawlbase-Anfrage erstellen(URL, Optionen):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

Schritt 3: Daten analysieren und extrahieren

Analysieren Sie den HTML-Inhalt mit BeautifulSoup und extrahieren Sie die relevanten Daten. Hier ist eine Funktion zum Extrahieren von Fahrzeugauktionstiteln, Untertiteln, Standorten, Miniaturansichten und Links zu Produktseiten:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Funktion zum Scrapen der Suchergebnisseite
def Scrape_Search_Results_Page(HTML-Inhalt):
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')
auto_angebote = soup.find_all('li', Klasse_='Auktionsgegenstand')

extrahierte_daten = []
für listing in Autoangebote:
Auktionstitel = Auflistung.Finden('div', Klasse_='Auktionstitel').text.strip() if Auflistung.finden('div', Klasse_='Auktionstitel') sonst Keine
Auktionsuntertitel = Auflistung.Finden('P', Klasse_=‚Auktionsuntertitel‘).text.strip() if Auflistung.finden('P', Klasse_=‚Auktionsuntertitel‘) sonst Keine
Auktionsort = Auflistung.Finden('P', Klasse_=‚Auktions-Lokal‘).text.strip() if Auflistung.finden('P', Klasse_=‚Auktions-Lokal‘) sonst Keine
Miniaturansicht = Auflistung.Finden('img')['Quelle'] if Auflistung.finden('img') sonst Keine
Produktseitenlink = „https://www.carsandbids.com“ + Auflistung.finden('A')['href'] if Auflistung.finden('A') sonst Keine

extrahierte_daten.anhängen({
‚Titel‘: Auktionstitel,
'Untertitel': Auktionsuntertitel,
'Auktionsort': Auktionsort,
'Miniaturansicht': Miniaturansicht,
'Produktseitenlink': Produktseitenlink
})
Rückkehr extrahierte_daten

Schritt 4: Speichern Sie die extrahierten Daten

Schreiben Sie eine Funktion, um die extrahierten Daten zur späteren Verwendung in einer JSON-Datei zu speichern:

1
2
3
4
5
# Funktion zum Speichern von Daten in einer JSON-Datei
def Daten speichern als JSON(Daten, Dateiname):
mit XNUMXh geöffnet(Dateiname, 'w') as Datei:
json.dump(Daten, Datei, Einzug=2)
drucken(f"Daten gespeichert in {Dateiname}")

Schritt 5: Ausführen des Skripts

Erstellen Sie main Funktion und definieren Sie die URL der Suchergebnisseite, den Ausgabedateinamen und legen Sie die Optionen für die Crawling API Anfrage. Rufen Sie diese Funktion auf, um mit dem Scraping der Carsandbids.com SERP zu beginnen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Hauptfunktion
def Haupt-
SEARCH_RESULTS_URL = „https://carsandbids.com/search/bmw“
OUTPUT_FILE = 'Suchergebnisse.json'
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': 10000
}

# Seite mit Suchergebnissen abrufen
search_results_html = make_crawlbase_request(SUCHE_ERGEBNISSE_URL, Optionen)

if suchergebnisse_html:
# Scrapen Sie die Suchergebnisseite
extrahierte Daten = Scrape-Suchergebnisseite (Suchergebnisse_html)

# Speichern Sie die extrahierten Daten in einer JSON-Datei
save_data_as_json(extrahierte_Daten, AUSGABE_DATEI)
sonst:
drucken("Keine Daten zum Analysieren.")

if __name__ == '__Main__':
Main()

Vollständiges Skript

Hier ist das vollständige Skript zum Scrapen der Suchergebnisseite von Carsandbids.com:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
importieren JSON
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'CRAWLBASE_JS_TOKEN' })

# Funktion zum Stellen einer Anfrage mithilfe der Crawlbase-API
def Crawlbase-Anfrage erstellen(URL, Optionen):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

# Funktion zum Scrapen der Suchergebnisseite
def Scrape_Search_Results_Page(HTML-Inhalt):
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')
auto_angebote = soup.find_all('li', Klasse_='Auktionsgegenstand')

extrahierte_daten = []
für listing in Autoangebote:
Auktionstitel = Auflistung.Finden('div', Klasse_='Auktionstitel').text.strip() if Auflistung.finden('div', Klasse_='Auktionstitel') sonst Keine
Auktionsuntertitel = Auflistung.Finden('P', Klasse_=‚Auktionsuntertitel‘).text.strip() if Auflistung.finden('P', Klasse_=‚Auktionsuntertitel‘) sonst Keine
Auktionsort = Auflistung.Finden('P', Klasse_=‚Auktions-Lokal‘).text.strip() if Auflistung.finden('P', Klasse_=‚Auktions-Lokal‘) sonst Keine
Miniaturansicht = Auflistung.Finden('img')['Quelle'] if Auflistung.finden('img') sonst Keine
Produktseitenlink = „https://www.carsandbids.com“ + Auflistung.finden('A')['href'] if Auflistung.finden('A') sonst Keine

extrahierte_daten.anhängen({
‚Titel‘: Auktionstitel,
'Untertitel': Auktionsuntertitel,
'Auktionsort': Auktionsort,
'Miniaturansicht': Miniaturansicht,
'Produktseitenlink': Produktseitenlink
})
Rückkehr extrahierte_daten

# Funktion zum Speichern von Daten in einer JSON-Datei
def Daten speichern als JSON(Daten, Dateiname):
mit XNUMXh geöffnet(Dateiname, 'w') as Datei:
json.dump(Daten, Datei, Einzug=2)
drucken(f"Daten gespeichert in {Dateiname}")

# Hauptfunktion
def Haupt-
SEARCH_RESULTS_URL = „https://carsandbids.com/search/bmw“
OUTPUT_FILE = 'Suchergebnisse.json'
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': 10000
}

# Seite mit Suchergebnissen abrufen
search_results_html = make_crawlbase_request(SUCHE_ERGEBNISSE_URL, Optionen)

if suchergebnisse_html:
# Scrapen Sie die Suchergebnisseite
extrahierte Daten = Scrape-Suchergebnisseite (Suchergebnisse_html)

# Speichern Sie die extrahierten Daten in einer JSON-Datei
save_data_as_json(extrahierte_Daten, AUSGABE_DATEI)
sonst:
drucken("Keine Daten zum Analysieren.")

if __name__ == '__Main__':
Main()

Beispielausgabe:

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
[
{
„Titel“: „2014 BMW 335i SedanWatch“,
"Untertitel": „Turbo-Sechszylinder ohne Mindestpreis, M-Sportpaket, kalifornischer Besitz, einige Modifikationen“,
"Auktionsort": "Los Angeles, CA 90068",
"Miniaturansicht": "https://media.carsandbids.com/cdn-cgi/image/width=768,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-SRn59u8Hl5-(edit).jpg?t=171849884215",
"Produktseitenlink": "https://www.carsandbids.com/auctions/9QxJ8nV7/2014-bmw-335i-sedan"
},
{
„Titel“: „2009 BMW 328i Sport WagonWatch“,
"Untertitel": „Kein Mindestgebot, geprüfter 3.0-Liter-6-Zylinder, Premium-Paket, kalifornischer Besitz“,
"Auktionsort": "San Diego, CA 92120",
"Miniaturansicht": "https://media.carsandbids.com/cdn-cgi/image/width=768,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/3g6kOmG9-2vaWrBd1Zk-(edit).jpg?t=171863907176",
"Produktseitenlink": „https://www.carsandbids.com/auctions/30n7Yqaj/2009-bmw-328i-sports-wagon“
},
{
„Titel“: „2011 BMW M3 Limousine Competition PaketWatch“,
"Untertitel": „Keine Reserve an V8-Power, Pleuellager ersetzt, Top-Ausstattung, M Performance Auspuff“,
"Auktionsort": "Wilmette, Illinois 60091",
"Miniaturansicht": "https://media.carsandbids.com/cdn-cgi/image/width=768,quality=70/c7387fa5557775cb743f87fc02d6cb831afb20b2/photos/3Bp4zzbX-hgZKuFy-Ka-(edit).jpg?t=171869247233",
"Produktseitenlink": „https://www.carsandbids.com/auctions/9lBB4mxM/2011-bmw-m3-sedan-competition-package“
},
{
„Titel“: „2001 BMW 740iWatch“,
"Untertitel": „V8 Power ohne Reserve, M Sportpaket, Orient Blue Metallic“,
"Auktionsort": „Penfield, NY 14526“,
"Miniaturansicht": "https://media.carsandbids.com/cdn-cgi/image/width=768,quality=70/4822e9034b0b6b357b3f73fabdfc10e586c36f68/photos/9XY2zVwq-wu-H4HvpOL-(edit).jpg?t=171881586626",
"Produktseitenlink": „https://www.carsandbids.com/auctions/9eDymNqk/2001-bmw-740i“
},
.... mehr
]

Im nächsten Abschnitt erläutern wir ausführlich, wie die Produktseiten scrapt werden.

Scraping der Produktseite

Beim Scraping der Produktseite von Carsandbids.com werden detaillierte Informationen zu einzelnen Autoangeboten extrahiert. Dieser Abschnitt führt Sie mit Codebeispielen durch den Vorgang.

Schritt 1: Analysieren Sie die Produktseite

Untersuchen Sie die Struktur einer Produktseite, bevor Sie Code schreiben.

Sehen Sie sich die Produktseite von carsandbids.com an.

Identifizieren Sie die HTML-Elemente, die die Daten enthalten, die Sie extrahieren möchten, z. B. Fahrzeugbeschreibungen, Bildergalerien, Auktionsdetails und Verkäuferinformationen.

Schritt 2: Richten Sie Ihr Python-Skript ein

Erstellen Sie ein neues Python-Skript oder fügen Sie es zu Ihrem vorhandenen Skript hinzu und importieren Sie die erforderlichen Bibliotheken und eine Funktion, um eine Anforderung zu stellen mit Crawling API wie folgt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
importieren JSON
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'CRAWLBASE_JS_TOKEN' })

# Funktion zum Stellen einer Anfrage mithilfe der Crawlbase-API
def Crawlbase-Anfrage erstellen(URL, Optionen):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

Schritt 3: Daten analysieren und extrahieren

Analysieren Sie den HTML-Inhalt mit BeautifulSoup und extrahieren Sie die relevanten Daten. Hier ist eine Funktion zum Extrahieren von Fahrzeugbeschreibungen, Bildergalerien und Auktionsdetails:

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
# Funktion zum Scrapen der Produktseite
def Produktseite scrapen(URL, Optionen):
product_page_html = make_crawlbase_request(URL, Optionen)
if Produktseite_HTML:
Suppe = Schöne Suppe(Produktseite_html, 'html.parser')

Titelpreisschild = Suppe.Wählen Sie eine(„div.Auktionstitel > h1“)

Fahrzeugbeschreibung = {}
schnelle_fakten = suppe.finden('div', Klasse_=„Kurzinfos“)

if schnelle_fakten:
für dl in quick_facts.alles_finden('dl'):
für dt, dd in Reißverschluss(dl.allesfinden('dt'), dl.find_all('tt')):
Schlüssel = dt.text.strip()
Wert = dd.text.strip() if dd sonst Keine
Fahrzeugbeschreibung [Schlüssel] = Wert

Bildergalerie = {
"Innenraumbilder": [img['Quelle'] für img in Suppe.Auswählen('div[Klasse*="gall-int"] > img')],
"Außenbilder": [img['Quelle'] für img in Suppe.Auswählen('div[Klasse*="gall-ext"] > img')]
}

aktuelles_Gebot_Tag = soup.select_one(„div.aktuelles-Gebot > div.Gebotswert“)
Gebotsverlauf = [Gebot.Text.Streifen() für Gebot in Suppe.Auswählen('.comments dl.platziertes Gebot')]

Verkäuferinfo-Link = soup.select_one(„ul.stats li.seller div.Benutzername a“)
Verkäuferinfo = {
'Nutzername': Verkäuferinfo-Link[‚Titel‘] if Verkäuferinfo-Link sonst Keine,
'Profil': „https://carsandbids.com“ + Verkäuferinfo-Link['href'] if Verkäuferinfo-Link sonst Keine,
}

Produktdaten = {
'Auktionstitel': Titel_Preis_Tag.Text.Streifen() if Titel_Preis_Tag sonst Keine,
'Fahrzeugbeschreibung': Fahrzeugbeschreibung,
'Bildergalerie': Bildergalerie,
'Aktuelles Gebot': aktuelles_Gebot_Tag.text.strip() if Aktuelles Gebots-Tag sonst Keine,
'Gebotshistorie': Gebotshistorie,
'Verkäuferinfo': Verkäuferinfo
}

Rückkehr Produktdaten
sonst:
drucken("Keine Daten zum Analysieren.")

Schritt 4: Speichern Sie die extrahierten Daten

Schreiben Sie eine Funktion, um die extrahierten Daten zur späteren Verwendung in einer JSON-Datei zu speichern:

1
2
3
4
5
6
// Funktion zum Speichern von JSON-Daten
def Daten speichern als JSON(json, Ausgabedatei):
mit XNUMXh geöffnet(Ausgabedatei, 'w') as Datei:
json.dump(json, Datei, Einzug=2)

drucken(f"Daten gespeichert in {Ausgabedatei}")

Schritt 5: Ausführen des Skripts

Erstellen Sie main Funktion, mit der Sie die URL einer Produktseite definieren, die Optionen für die Crawlbase festlegen Crawling API Anfrage, Ausgabedateiname und Kombination der Scraping- und Speicherfunktionen. Führen Sie den main Funktion zum Scrapen der Produktseitendaten von Carsandbids.com:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Hauptfunktion zum Ausführen des Skripts
def Haupt-
PRODUKT_SEITEN_URL = 'https://carsandbids.com/auctions/9QxJ8nV7/2014-bmw-335i-sedan'
OUTPUT_FILE = 'produkt_daten.json'
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': 10000
}

scraped_data = scrape_product_page(PRODUKTSEITEN-URL, Optionen)
save_data_as_json(gescrapte_Daten, AUSGABEDATEI)

if __name__ == '__Main__':
Main()

Vollständiges Skript

Hier ist das vollständige Skript zum Scrapen der Produktseite von Carsandbids.com:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
importieren JSON
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'CRAWLBASE_JS_TOKEN' })

# Funktion zum Stellen einer Anfrage mithilfe der Crawlbase-API
def Crawlbase-Anfrage erstellen(URL, Optionen):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

# Funktion zum Scrapen der Produktseite
def Produktseite scrapen(URL, Optionen):
product_page_html = make_crawlbase_request(URL, Optionen)
if Produktseite_HTML:
Suppe = Schöne Suppe(Produktseite_html, 'html.parser')

Titelpreisschild = Suppe.Wählen Sie eine(„div.Auktionstitel > h1“)

Fahrzeugbeschreibung = {}
schnelle_fakten = suppe.finden('div', Klasse_=„Kurzinfos“)

if schnelle_fakten:
für dl in quick_facts.alles_finden('dl'):
für dt, dd in Reißverschluss(dl.allesfinden('dt'), dl.find_all('tt')):
Schlüssel = dt.text.strip()
Wert = dd.text.strip() if dd sonst Keine
Fahrzeugbeschreibung [Schlüssel] = Wert

Bildergalerie = {
"Innenraumbilder": [img['Quelle'] für img in Suppe.Auswählen('div[Klasse*="gall-int"] > img')],
"Außenbilder": [img['Quelle'] für img in Suppe.Auswählen('div[Klasse*="gall-ext"] > img')]
}

aktuelles_Gebot_Tag = soup.select_one(„div.aktuelles-Gebot > div.Gebotswert“)
Gebotsverlauf = [Gebot.Text.Streifen() für Gebot in Suppe.Auswählen('.comments dl.platziertes Gebot')]

Verkäuferinfo-Link = soup.select_one(„ul.stats li.seller div.Benutzername a“)
Verkäuferinfo = {
'Nutzername': Verkäuferinfo-Link[‚Titel‘] if Verkäuferinfo-Link sonst Keine,
'Profil': „https://carsandbids.com“ + Verkäuferinfo-Link['href'] if Verkäuferinfo-Link sonst Keine,
}

Produktdaten = {
'Auktionstitel': Titel_Preis_Tag.Text.Streifen() if Titel_Preis_Tag sonst Keine,
'Fahrzeugbeschreibung': Fahrzeugbeschreibung,
'Bildergalerie': Bildergalerie,
'Aktuelles Gebot': aktuelles_Gebot_Tag.text.strip() if Aktuelles Gebots-Tag sonst Keine,
'Gebotshistorie': Gebotshistorie,
'Verkäuferinfo': Verkäuferinfo
}

Rückkehr Produktdaten
sonst:
drucken("Keine Daten zum Analysieren.")

def Daten speichern als JSON(Daten, Ausgabedatei):
mit XNUMXh geöffnet(Ausgabedatei, 'w') as Datei:
json.dump(Daten, Datei, Einzug=2)

drucken(f"Daten gespeichert in {Ausgabedatei}")

# Hauptfunktion zum Ausführen des Skripts
def Haupt-
PRODUKT_SEITEN_URL = 'https://carsandbids.com/auctions/9QxJ8nV7/2014-bmw-335i-sedan'
OUTPUT_FILE = 'produkt_daten.json'
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': 10000
}

scraped_data = scrape_product_page(PRODUKTSEITEN-URL, Optionen)
save_data_as_json(gescrapte_Daten, AUSGABEDATEI)

if __name__ == '__Main__':
Main()

Beispielausgabe:

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
46
47
48
49
50
{
"Auktionstitel": „2014 BMW 335i Limousine“,
"Fahrzeugbeschreibung": {
"Machen": "BMW",
"Modell": "3er Sparen",
"Kilometerstand": "84,100",
"WEIN": „WBA3A9G52ENS65011“,
"Titelstatus": "Sauber (CA)",
"Standort": "Los Angeles, CA 90068",
"Verkäufer": "Miko_TContact",
"Motor": „3.0 l Sechszylinder-Turbomotor“,
"Antriebsstrang": "Hinterradantrieb",
"Übertragung": „Automatik (8-Gang)“,
"Körperstil": "Limousine",
"Außenfarbe": "Mineralgrau Metallic",
"Innenraumfarbe": "Korallenrot",
"Verkäufertyp": "Private Party"
},
"Bildergalerie": {
"Innenraumbilder": [
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-IWpiLVYg8b-(edit).jpg?t=171849901125",
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/c1f0085c8fc8474dacc9711b49a8a8e8a1e02ed4/photos/rkVPlNqQ-56nXtS7MymS.jpg?t=171813663392",
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/c1f0085c8fc8474dacc9711b49a8a8e8a1e02ed4/photos/rkVPlNqQ-p1ZA2VO1lXd.jpg?t=171813664799"
],
"Außenbilder": [
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-cpo8coEnKk-(edit).jpg?t=171849888829",
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-YF2_STjmrZ-(edit).jpg?t=171849886705",
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-VQMbPK9FCO-(edit).jpg?t=171849894077",
"https://media.carsandbids.com/cdn-cgi/image/width=542,quality=70/9004500a220bf3a3d455d15ee052cf8c332606f8/photos/rkVPlNqQ-iqru8ZckuN-(edit).jpg?t=171849896490"
]
},
"Aktuelles Gebot": "$ 9,500",
"Gebotshistorie": [
„Gebot 9,500 $“,
„Gebot 9,201 $“,
„Gebot 9,100 $“,
„Gebot 9,000 $“,
„Gebot 8,900 $“,
„Gebot 8,800 $“,
„Gebot 8,600 $“,
„Gebot 8,500 $“,
„Gebot 8,100 $“,
„Gebot 7,950 $“,
„Gebot 7,850 $“
],
"Verkäuferinfo": {
"Nutzername": "Miko_T",
"Profil": „https://carsandbids.com/user/Miko_T“
}
}

Mit Crawlbase Carsandbids effizient durchsuchen

Die Analyse von Carsandbids.com kann interessante Beobachtungen über den Automarkt liefern und detailliertere Einblicke in Fahrzeuglisten, Auktionen und Verkäuferdaten geben. Mit dem Crawlbase Crawling API macht es einfach und effizient, wichtige Informationen von der Carsandbids-Site abzurufen. Befolgen Sie die Schritte in diesem Blog, um sowohl Suchergebnisse als auch Produktseiten der Carsandbids-Site erfolgreich abzurufen.

Wenn Sie Ihre Web-Scraping-Fähigkeiten erweitern möchten, sehen Sie sich unsere folgenden Anleitungen zum Scraping anderer wichtiger Websites an.

📜 So scrapen Sie Google Finance
📜 So scrapen Sie Google News
📜 So scrapen Sie Google Scholar-Ergebnisse
📜 So kratzen Sie die Google-Suchergebnisse
📜 So scrapen Sie Google Maps
📜 So scrapen Sie Yahoo Finance
📜 So scrapen Sie Zillow

Bei Fragen oder Anregungen steht Ihnen unser Support-Team steht Ihnen jederzeit zur Verfügung, um Sie bei Ihrem Web Scraping-Vorhaben zu unterstützen. Viel Spaß beim Scraping!

Häufig gestellte Fragen

Das Scraping von Carsandbids.com kann legal sein, vorausgesetzt, Sie halten sich an die Servicebedingungen und verwenden die Daten verantwortungsbewusst. Achten Sie auf Aktionen, die gegen diese Bedingungen verstoßen, wie z. B. das Abstürzen der Server oder die böswillige Verwendung der Daten. Stellen Sie immer sicher, dass Ihre Scraping-Aktivitäten ethisch sind und sich innerhalb der gesetzlichen Grenzen bewegen, um zukünftige Probleme zu vermeiden.

F: Welche Herausforderungen sind beim Scraping von Carsandbids.com mit sich zu bringen?

Das Scraping von Carsandbids.com ist mit mehreren Schwierigkeiten verbunden. Die Site Carsandbids.com hat dynamische Inhalte, die das Scraping erschweren, und es kann sein, dass eine Site Ratenbegrenzungen für die Anzahl der Anfragen innerhalb eines bestimmten Zeitraums festlegt. Darüber hinaus können CAPTCHA-Systeme automatisierte Scraping-Versuche blockieren. Um diese Hürden effektiv zu überwinden, verwenden Sie eine zuverlässige API wie Crawlbase Crawling API das dynamische Inhalte verwaltet, Ratenbeschränkungen handhabt und den CAPTCHA-Schutz umgeht.

F: Wie kann ich die von Carsandbids.com gesammelten Daten effektiv nutzen?

Die von der Website von Carsandbids erhaltenen Informationen könnten für verschiedene Zwecke sehr wertvoll sein. Sie können sie unter anderem für Markttrendanalysen, die Preisüberwachung von Fahrzeugen und Wettbewerbsforschungszwecke verwenden. Diese Daten können Ihnen helfen, fundierte Entscheidungen zu treffen, egal ob Sie ein Autohändler sind, der sein Fahrzeug wettbewerbsfähig bepreisen möchte, oder ein Analyst, der die Marktdynamik untersucht. Stellen Sie sicher, dass Sie die Daten sicher handhaben und daraus umsetzbare Erkenntnisse gewinnen, die Ihre Strategien und Geschäftsentscheidungen beeinflussen.