Möchten Sie Ihr Geschäft ausbauen? SuperPages ist eine großartige Quelle für wertvolle Lead-Informationen. SuperPages ist eines der größten Online-Verzeichnisse mit Unternehmenslisten in den gesamten USA. Mit Millionen von Unternehmen, die nach Branche, Standort und mehr kategorisiert sind, ist es eine gute Quelle für detaillierte Informationen zu potenziellen Kunden oder Klienten.

In dieser Anleitung zeigen wir Ihnen, wie Sie SuperPages durchsuchen, um Unternehmensinformationen zu erhalten. Mit Python und einigen einfachen Bibliotheken können Sie Unternehmensnamen, Telefonnummern, Adressen und mehr erhalten. Dadurch erhalten Sie eine Liste mit Leads, mit denen Sie Ihr Marketing erweitern oder Partnerschaften aufbauen können.

Sobald wir den Core Scraper eingerichtet haben, werden wir uns auch mit der Optimierung unserer Ergebnisse befassen, indem wir Crawlbase Smart Proxy um Datengenauigkeit und Effizienz beim Umgang mit größeren Datensätzen sicherzustellen.

Hier ist alles, was wir für den Einstieg behandeln:

Inhaltsverzeichnis

  1. Warum SuperPages nach Leads durchsuchen?
  2. Wichtige Daten zum Extrahieren aus SuperPages
  3. Einrichten Ihrer Python-Umgebung
  4. Scraping von SuperPages-Einträgen
  • HTML auf Selektoren prüfen
  • Schreiben des Listings Scrapers
  • Umgang mit Paginierung
  • Speichern von Daten in einer JSON-Datei
  • Code vervollständigen
  1. Scraping von SuperPages-Geschäftsdetails
  • HTML auf Selektoren prüfen
  • Schreiben des Business Details Scrapers
  • Speichern von Daten in einer JSON-Datei
  • Code vervollständigen
  1. Optimierung des SuperPages Scraper mit Crawlbase Smart Proxy
  2. Abschließende Überlegungen
  3. Häufig gestellte Fragen

Warum SuperPages nach Leads durchsuchen?

SuperPages ist ein führendes US-Unternehmensverzeichnis mit Millionen von Einträgen aus allen Branchen. Egal, ob Sie im Vertrieb, Marketing oder in der Forschung tätig sind, SuperPages bietet Ihnen die Informationen, die Sie benötigen, um gezielte Lead-Listen für die Kontaktaufnahme zu erstellen. Von kleinen lokalen Unternehmen bis hin zu nationalen Unternehmen bietet SuperPages Millionen von Einträgen, jeweils mit Firmennamen, Adresse, Telefonnummer und Geschäftskategorie.

Bild, das die Gründe zeigt, SuperPages nach Leads zu durchsuchen

Durch das Scraping von SuperPages können Sie all diese Informationen an einem Ort sammeln, Zeit bei der manuellen Suche sparen und sich auf die Ansprache potenzieller Kunden konzentrieren. Anstatt Seite für Seite zu durchsuchen, steht Ihnen ein strukturierter Datensatz zur Analyse und Nachverfolgung zur Verfügung.

Lassen Sie uns eintauchen und sehen, welche Informationen Sie aus SuperPages extrahieren können.

Wichtige Daten zum Extrahieren aus SuperPages

Beim Scraping von SuperPages müssen Sie wissen, welche Daten Sie zur Lead-Generierung extrahieren müssen. SuperPages verfügt über mehrere Datenelemente für jedes Unternehmen, und durch die gezielte Auswahl bestimmter Felder können Sie einen sauberen Datensatz für Outreach- und Marketingzwecke erstellen.

Hier sind einige der wichtigsten Datenfelder:

  • Firmenname: Die primäre Kennung für jedes Unternehmen, damit Sie Ihre Leads gruppieren können.
  • Kategorie: SuperPages kategorisiert Unternehmen nach Branchen, z. B. „Restaurants“ oder „Rechtsdienstleistungen“. Dies hilft Ihnen dabei, Ihre Leads nach Branchen zu segmentieren.
  • Adresse und Standort: Vollständige Adressdaten, einschließlich Stadt, Bundesland und Postleitzahl, damit Sie gezielte Marketingkampagnen durchführen können.
  • Phone Number: Wichtig für den direkten Kontakt, insbesondere wenn Sie eine telefonische Outreach-Kampagne aufbauen.
  • Website URL : Viele Einträge enthalten einen Website-Link, sodass Sie eine weitere Möglichkeit haben, mit den einzelnen Unternehmen zu interagieren und weitere Informationen zu erhalten.
  • Bewertungen und Rezensionen: Sofern verfügbar, können diese Daten Ihnen Einblick in die Kundenstimmung und den Ruf geben, sodass Sie Unternehmen auf der Grundlage ihrer Qualität und ihres Kundenfeedbacks gezielt ansprechen können.

Da wir nun eine klare Vorstellung davon haben, was extrahiert werden soll, können wir im nächsten Abschnitt mit der Einrichtung unserer Python-Umgebung beginnen.

Einrichten Ihrer Python-Umgebung

Bevor wir mit dem Scraping von SuperPages-Daten beginnen können, müssen wir die richtige Python-Umgebung einrichten. Dazu gehört die Installation von Python, der erforderlichen Bibliotheken und einer integrierten Entwicklungsumgebung (IDE) zum Schreiben und Ausführen unseres Codes.

Installieren von Python und erforderlichen Bibliotheken

Stellen Sie zunächst sicher, dass Python auf Ihrem Computer installiert ist. Sie können die neueste Version von herunterladen python.org. Nach der Installation können Sie testen, ob Python funktioniert, indem Sie diesen Befehl in Ihrem Terminal oder in der Eingabeaufforderung ausführen:

1
Python --Version

Als Nächstes müssen Sie die erforderlichen Bibliotheken installieren. Für dieses Tutorial verwenden wir Requests zum Erstellen von HTTP-Anfragen und BeautifulSoup zum Parsen von HTML. Sie können diese Bibliotheken installieren, indem Sie den folgenden Befehl ausführen:

1
Pip-Installationsanfragen beautifulsoup4

Diese Bibliotheken helfen Ihnen bei der Interaktion mit SuperPages und beim Scrapen von Daten aus dem HTML.

Auswahl einer IDE

Zum Schreiben und Ausführen Ihrer Python-Skripte benötigen Sie eine IDE. Hier sind einige Optionen:

  • VS-Code: Ein leichter Code-Editor mit guter Python-Unterstützung und vielen Erweiterungen.
  • PyCharm: Eine Python-IDE mit umfassenderem Funktionsumfang sowie Tools zur Codevervollständigung und Fehlerbehebung.
  • Jupyter Notizbuch: Eine interaktive Umgebung zum Experimentieren und Visualisieren.

Wählen Sie die IDE Ihrer Wahl. Sobald Ihre Umgebung eingerichtet ist, können Sie mit dem Schreiben des Codes zum Scraping von SuperPages-Einträgen beginnen.

Scraping von SuperPages-Einträgen

In diesem Abschnitt behandeln wir das Scraping von SuperPages-Einträgen. Dazu gehört das Überprüfen des HTML, um die Selektoren zu finden, das Schreiben des Scrapers, das Verwalten der Paginierung, um Daten von mehreren Seiten abzurufen, und das Speichern der Daten in einer JSON-Datei für den einfachen Zugriff.

HTML auf Selektoren prüfen

Bevor wir mit dem Schreiben des Scrapers beginnen, müssen wir die SuperPages-Listingsseite untersuchen, um die HTML-Struktur und CSS-Selektoren zu finden, die die gewünschten Daten enthalten. So geht's:

  1. Öffnen Sie die Listings-Seite: Gehen Sie zu einer SuperPages-Suchergebnisseite (suchen Sie beispielsweise nach „Haushaltsdiensten“ an einem Ort, der Sie interessiert).
  2. Überprüfen Sie die Seite: Klicken Sie mit der rechten Maustaste auf die Seite und wählen Sie „Untersuchen“ oder drücken Sie Ctrl + Shift + I um die Entwicklertools zu öffnen.
Ein Screenshot der HTML-Inspektion von SuperPages Listings
  1. Finden Sie die relevanten Elemente:
  • Firmenname: Der Firmenname ist in einer <a> tag mit der klasse .business-nameund innerhalb dieser <a>, der Name selbst ist in einem <span> -Tag.
  • Adresse: Die Adresse befindet sich in einer <span> tag mit der klasse .street-address.
  • Phone Number: Die Telefonnummer befindet sich in einer <a> Tag mit den Klassen .phone und .primary.
  • Website Link: Falls verfügbar, befindet sich der Link zur Unternehmenswebsite in einer <a> tag mit der klasse .weblink-button.
  • Link zur Detailseite: Der Link zur Unternehmensdetailseite befindet sich in einer <a> tag mit der klasse .business-name.

Suchen Sie nach weiteren Daten, die Sie extrahieren möchten, z. B. Bewertungen oder Geschäftszeiten. Jetzt können Sie im nächsten Abschnitt den Scraper schreiben.

Schreiben des Listings Scrapers

Jetzt, da wir die Selektoren haben, können wir den Scraper schreiben. Wir verwenden requests um die Seite abzurufen und BeautifulSoup um das HTML zu analysieren und die Daten zu extrahieren. Hier ist der grundlegende Code zum Scrapen von Einträgen:

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
importieren Zugriffe
für bs4 importieren BeautifulSuppe
importieren JSON

# Funktion zum Abrufen von Einträgen von einer einzelnen Seite
def Listen abrufen(Seitennummer):
URL = f"https://www.superpages.com/search?search_terms=Home%20Services&geo_location_terms=Los%20Angeles%2C%20CA&page={Seitenzahl}"
Header = {
"Benutzer-Agent": „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0“
}
Antwort = Anfragen.get(URL, Header=Header)
if Antwort.Statuscode == 200:
Suppe = Schöne Suppe(Antwort.Inhalt, "html.parser")
Auflistungen = []

für Geschäft in Suppe.Auswählen("div.Suchergebnisse > div.Ergebnis"):
Name = Unternehmen.Wählen Sie eine(„a.Firmenname-Span“).text.strip() if Geschäft.Wählen Sie eins aus(„a.Firmenname-Span“) sonst ""
Adresse = Geschäft.Wählen Sie eine("span.Straßenadresse").text.strip() if Geschäft.Wählen Sie eins aus("span.Straßenadresse") sonst ""
Telefon = Geschäft.Wählen Sie eine(„ein.Telefon.primär“).text.strip() if Geschäft.Wählen Sie eins aus(„ein.Telefon.primär“) sonst ""
Website = Unternehmen.Wählen Sie eine(„eine.Weblink-Schaltfläche“)["href"] if Geschäft.Wählen Sie eins aus(„eine.Weblink-Schaltfläche“) sonst ""
detail_page_link = „https://www.superpages.com“ + Geschäft.Wählen Sie eins aus(„ein.Firmenname“)["href"] if Geschäft.Wählen Sie eins aus(„ein.Firmenname“) sonst ""

Auflistungen.Anhängen({
"Name": Name,
"Adresse": Adresse,
"Telefon": Telefon,
"Webseite": Webseite,
"Link zur Detailseite": Link zur Detailseite
})

Rückkehr Inserate
sonst:
drucken("Seite konnte nicht abgerufen werden.")
Rückkehr []

Dieser Code ruft Daten von einer bestimmten Ergebnisseite ab. Er extrahiert den Namen, die Adresse, die Telefonnummer und die Website jedes Unternehmens und speichert sie in einer Liste von Wörterbüchern.

Umgang mit Paginierung

Um mehr Daten zu erhalten, müssen wir die Seitennummerierung handhaben, damit der Scraper mehrere Seiten durchsuchen kann. SuperPages ändert die Seitenzahl in der URL, sodass es einfach ist, eine Seitennummerierung hinzuzufügen, indem man die Seitenzahlen durchläuft. Wir können eine Funktion wie die folgende erstellen, um mehrere Seiten zu scrapen:

1
2
3
4
5
6
7
8
# Funktion zum Abrufen von Einträgen von mehreren Seiten
def Alle Einträge abrufen(Gesamtseiten):
alle_listings = []
für Seite in Angebot(1, Gesamtseitenzahl + 1):
drucken(f"Seite scrapen {Seite}... ")
Auflistungen = fetch_listings(Seite)
all_listings.extend(Auflistungen)
Rückkehr alle_einträge

Jetzt, fetch_all_listings() sammelt Daten von der angegebenen Anzahl Seiten durch den Aufruf fetch_listings() wiederholt.

Speichern von Daten in einer JSON-Datei

Nachdem wir alle Daten gesammelt haben, ist es wichtig, sie für den einfachen Zugriff in einer JSON-Datei zu speichern. So speichern Sie die Daten im JSON-Format:

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

Dieser Code speichert die Daten in einer Datei namens superpages_listings.json. Jeder Eintrag enthält den Firmennamen, die Adresse, die Telefonnummer und die Website.

Vollständiges Codebeispiel

Unten finden Sie den vollständigen Code, der alle Schritte kombiniert:

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
importieren Zugriffe
für bs4 importieren BeautifulSuppe
importieren JSON

# Funktion zum Abrufen von Einträgen von einer einzelnen Seite
def Listen abrufen(Seitennummer):
URL = f"https://www.superpages.com/search?search_terms=Home%20Services&geo_location_terms=Los%20Angeles%2C%20CA&page={Seitenzahl}"
Header = {
"Benutzer-Agent": „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0“
}
Antwort = Anfragen.get(URL, Header=Header)
if Antwort.Statuscode == 200:
Suppe = Schöne Suppe(Antwort.Inhalt, "html.parser")
Auflistungen = []

für Geschäft in Suppe.Auswählen("div.Suchergebnisse > div.Ergebnis"):
Name = Unternehmen.Wählen Sie eine(„a.Firmenname-Span“).text.strip() if Geschäft.Wählen Sie eins aus(„a.Firmenname-Span“) sonst ""
Adresse = Geschäft.Wählen Sie eine("span.Straßenadresse").text.strip() if Geschäft.Wählen Sie eins aus("span.Straßenadresse") sonst ""
Telefon = Geschäft.Wählen Sie eine(„ein.Telefon.primär“).text.strip() if Geschäft.Wählen Sie eins aus(„ein.Telefon.primär“) sonst ""
Website = Unternehmen.Wählen Sie eine(„eine.Weblink-Schaltfläche“)["href"] if Geschäft.Wählen Sie eins aus(„eine.Weblink-Schaltfläche“) sonst ""
detail_page_link = „https://www.superpages.com“ + Geschäft.Wählen Sie eins aus(„ein.Firmenname“)["href"] if Geschäft.Wählen Sie eins aus(„ein.Firmenname“) sonst ""

Auflistungen.Anhängen({
"Name": Name,
"Adresse": Adresse,
"Telefon": Telefon,
"Webseite": Webseite,
"Link zur Detailseite": Link zur Detailseite
})

Rückkehr Inserate
sonst:
drucken("Seite konnte nicht abgerufen werden.")
Rückkehr []

# Funktion zum Abrufen von Einträgen von mehreren Seiten
def Alle Einträge abrufen(Gesamtseiten):
alle_listings = []
für Seite in Angebot(1, Gesamtseitenzahl + 1):
drucken(f"Seite scrapen {Seite}... ")
Auflistungen = fetch_listings(Seite)
all_listings.extend(Auflistungen)
Rückkehr alle_einträge

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

# Hauptfunktion zum Ausführen des gesamten Scrapers
def Haupt-
Gesamtseiten = 5 # Definieren Sie die Anzahl der Seiten, die Sie scrapen möchten
alle_Listings_Daten = alle_Listings_abrufen(Gesamtzahl_Seiten)
save_to_json(alle_Listings_Daten)

# Führen Sie die Hauptfunktion aus
if __name__ == "__hauptsächlich__":
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

{
"Name": "Evergreen Reinigungssysteme",
"Adresse": „3325 Wilshire Blvd Ste 622, Los Angeles, CA 90010“,
"Telefon": „213-375-1597Jetzt anrufen“,
"Webseite": „https://www.evergreencleaningsystems.com“,
"Link zur Detailseite": „https://www.superpages.com/los-angeles-ca/bpp/evergreen-cleaning-systems-540709574?lid=1002188497939“
},
{
"Name": "Fröhliche Mädchen",
"Adresse": „14741 Kittridge Street, Van Nuys, CA 91405“,
"Telefon": „818-465-8982Jetzt anrufen“,
"Webseite": „http://www.merrymaids.com“,
"Link zur Detailseite": „https://www.superpages.com/van-nuys-ca/bpp/merry-maids-542022905?lid=1002108319143“
},
{
"Name": „Reinigungsservice rund um die Uhr“,
"Adresse": „27612 Cherry Creek Dr, Santa Clarita, CA 91354“,
"Telefon": „661-297-2702Jetzt anrufen“,
"Webseite": "",
"Link zur Detailseite": „https://www.superpages.com/santa-clarita-ca/bpp/any-day-anytime-cleaning-service-513720439?lid=1002021283815“
},
{
"Name": „Ultraschall-Blindendienste“,
"Adresse": „2049 Pacific Coast Hwy, Ste 217, Lomita, CA 90717“,
"Telefon": „424-257-6603Jetzt anrufen“,
"Webseite": „http://www.ultrasonicblindservices.com“,
"Link zur Detailseite": „https://www.superpages.com/lomita-ca/bpp/ultrasonic-blind-services-514581803?lid=1002166431055“
},
.... mehr
]

Scraping von SuperPages-Geschäftsdetails

Nachdem Sie die grundlegenden Informationen aus den Einträgen erfasst haben, ist es an der Zeit, tiefer in die einzelnen Geschäftsdetails einzutauchen, indem Sie die jeweilige Seite jedes Eintrags besuchen. Dieser Schritt hilft Ihnen dabei, detailliertere Informationen wie Öffnungszeiten, Kundenbewertungen und zusätzliche Kontaktdaten zu sammeln.

HTML auf Selektoren prüfen

Zunächst untersuchen wir die HTML-Struktur einer SuperPages-Unternehmensdetailseite, um herauszufinden, wo sich die einzelnen Informationen befinden. So geht's:

  1. Öffnen Sie eine Seite mit Unternehmensdetails: Klicken Sie in den Suchergebnissen auf einen beliebigen Firmennamen, um die Detailseite zu öffnen.
  2. Überprüfen Sie die Seite: Klicken Sie mit der rechten Maustaste und wählen Sie „Untersuchen“ oder drücken Sie Ctrl + Shift + I um die Entwicklertools zu öffnen.
Ein Screenshot der HTML-Überprüfung der Geschäftsdetails von SuperPages
  1. Schlüsselelemente finden:
  • Firmenname: Gefunden in einem <h1> Tag mit einer Klasse .business-name.
  • Öffnungszeiten: Anzeige in Zeilen innerhalb einer .biz-hours Tabelle, in der die Stunden jedes Tages in einer <tr> mit th.day-label und td.day-hours.
  • Kontaktinformationen: Befindet sich in Schlüssel-Wert-Paaren innerhalb eines .details-contact Abschnitt, wobei jeder Schlüssel in <dt> Tags und jeder Wert in entsprechenden <dd> Stichworte.

Nachdem Sie diese Selektoren identifiziert haben, können Sie mit dem nächsten Schritt fortfahren.

Schreiben des Business Details Scrapers

Lassen Sie uns nun diese Selektoren in einem Python-Skript verwenden, um die spezifischen Details von jeder Unternehmensseite abzurufen. Zuerst senden wir eine Anfrage an die URL jeder Unternehmensdetailseite. Dann verwenden wir BeautifulSoup, um die spezifischen Informationen zu analysieren und zu extrahieren.

Hier ist der Code zum Scrapen der Geschäftsdetails von jeder Seite:

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
importieren Zugriffe
für bs4 importieren BeautifulSuppe
importieren JSON

def Geschäftsdetails abrufen(URL):
Header = {
"Benutzer-Agent": „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0“
}
Antwort = Anfragen.get(URL, Header=Header)
Suppe = Schöne Suppe(Antwort.Inhalt, 'html.parser')

# Extrahieren Sie den Firmennamen
Name = Suppe.find('h1', Klasse_='Firmenname').text.strip() if Suppe.find('h1', Klasse_='Firmenname') sonst ""

# Betriebsstunden in Schlüssel-Wert-Paaren extrahieren
Stunden = {
Zeile.finden('th', Klasse_='Tageslabel').text.strip(): Zeile.finden('td', Klasse_='Tagesstunden').text.strip()
für Reihe in Suppe.Auswählen(„.biz-hours tr“)
}

# Kontaktinformationen als Schlüssel-Wert-Paar extrahieren
Kontaktinformationen = {
dt.text.strip().replace(':', ''): dd.text.strip()
für dt, dd in Reißverschluss(Suppe.Auswahl(„.details-contact dt“), Suppe.Auswahl(„.details-contact dd“))
}

# Speichern Sie die Details in einem Wörterbuch
Details = {
'Süßkartoffel': Name,
'Std': Std,
'Kontaktdaten': Kontaktinformationen
}
Rückkehr Details

Speichern von Daten in einer JSON-Datei

Um die spätere Arbeit mit den Scraped-Daten zu erleichtern, speichern wir die Geschäftsdetails in einer JSON-Datei. So können Sie Informationen organisiert speichern und darauf zugreifen.

1
2
3
def in JSON speichern(Daten, Dateiname='business_details.json'):
mit XNUMXh geöffnet(Dateiname, 'w') as Datei:
json.dump(Daten, Datei, Einzug=4)

Vollständiges Codebeispiel

Hier ist der vollständige Code, der alles vom Abrufen der Geschäftsdetails bis zu deren Speicherung in einer JSON-Datei umfasst.

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
importieren Zugriffe
für bs4 importieren BeautifulSuppe
importieren JSON

def Geschäftsdetails abrufen(URL):
Header = {
"Benutzer-Agent": „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0“
}
Antwort = Anfragen.get(URL, Header=Header)
Suppe = Schöne Suppe(Antwort.Inhalt, 'html.parser')

# Extrahieren Sie den Firmennamen
Name = Suppe.find('h1', Klasse_='Firmenname').text.strip() if Suppe.find('h1', Klasse_='Firmenname') sonst ""

# Betriebsstunden in Schlüssel-Wert-Paaren extrahieren
Stunden = {
Zeile.finden('th', Klasse_='Tageslabel').text.strip(): Zeile.finden('td', Klasse_='Tagesstunden').text.strip()
für Reihe in Suppe.Auswählen(„.biz-hours tr“)
}

# Kontaktinformationen als Schlüssel-Wert-Paar extrahieren
Kontaktinformationen = {
dt.text.strip().replace(':', ''): dd.text.strip()
für dt, dd in Reißverschluss(Suppe.Auswahl(„.details-contact dt“), Suppe.Auswahl(„.details-contact dd“))
}

# Speichern Sie die Details in einem Wörterbuch
Details = {
'Süßkartoffel': Name,
'Std': Std,
'Kontaktdaten': Kontaktinformationen
}
Rückkehr Details

def in JSON speichern(Daten, Dateiname='business_details.json'):
mit XNUMXh geöffnet(Dateiname, 'w') as Datei:
json.dump(Daten, Datei, Einzug=4)

def Haupt-
URLs = [
„https://www.superpages.com/los-angeles-ca/bpp/evergreen-cleaning-systems-540709574?lid=1002188497939“,
„https://www.superpages.com/van-nuys-ca/bpp/merry-maids-542022905?lid=1002108319143“,
# Fügen Sie hier weitere Produkt-URLs hinzu
]

alle_geschäftsdetails = []
für URL in URLs:
Geschäftsdetails = Geschäftsdetails abrufen (URL)
alle_Geschäftsdetails.anhängen(Geschäftsdetails)

# Alle Details in einer JSON-Datei speichern
save_to_json(alle_Geschäftsdetails)

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
[
{
"Name": "Evergreen Reinigungssysteme",
"Std": {
"Mo - Fr": "7:00 - 8:00 Uhr",
"Sa": "7:00 - 6:00 Uhr",
"Sonne": "Geschlossen"
},
"Kontaktdaten": {
"Telefon": "Hauptnummer - 213-375-1597",
"Die Anschrift": „3325 Wilshire Blvd Ste 622 Los Angeles, CA 90010“,
"Email": "Kontaktiere uns",
"Link": „https://www.evergreencleaningsystems.com“
}
},
{
"Name": "Fröhliche Mädchen",
"Std": {
"Mo - Fr": "7:30 - 5:30 Uhr",
"Sa": "7:00 - 3:00 Uhr"
},
"Kontaktdaten": {
"Telefon": "Hauptnummer - 818-465-8982",
"Die Anschrift": „14741 Kittridge Street Van Nuys, CA 91405“,
"Email": "Kontaktiere uns",
"Link": „http://www.merrymaids.com“
}
}
]

Optimierung des SuperPages Scraper mit Crawlbase Smart Proxy

Um unseren SuperPages Scraper robuster und schneller zu machen, können wir verwenden Crawlbase Smart Proxy. Smart Proxy verfügt über IP-Rotation und Anti-Bot-Schutz, was wichtig ist, um bei der langen Datenerfassung keine Ratenbegrenzungen zu erreichen oder blockiert zu werden.

Crawlbase hinzufügen Smart Proxy zu unserem Setup ist einfach. Registrieren auf Crawlbase und erhalte ein API-Token. Wir verwenden die Smart Proxy URL zusammen mit unserem Token, damit die Anfragen so aussehen, als kämen sie von verschiedenen Standorten. Dadurch können wir eine Erkennung vermeiden und ein unterbrechungsfreies Scraping gewährleisten.

So können wir unseren Code ändern, um Crawlbase zu verwenden Smart Proxy:

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
importieren Zugriffe
für bs4 importieren BeautifulSuppe

# Ersetzen _USER_TOKEN_ mit Ihrem Crawlbase Token
Proxy-URL = 'http://_USER_TOKEN_:@smartproxy.crawlbase.com:8012'

def Geschäftsdetails abrufen(URL):
Header = {
"Benutzer-Agent": „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0“
}
Proxys = {"http": Proxy-URL, "https": Proxy-URL}
Antwort = Anfragen.Get(URL=URL, Header=Header, Proxys=Proxys, Überprüfen=falsch)
Suppe = Schöne Suppe(Antwort.Inhalt, 'html.parser')

# Extrahieren Sie den Firmennamen
Name = Suppe.find('h1', Klasse_='Firmenname').text.strip() if Suppe.find('h1', Klasse_='Firmenname') sonst ""

# Betriebsstunden in Schlüssel-Wert-Paaren extrahieren
Stunden = {
Zeile.finden('th', Klasse_='Tageslabel').text.strip(): Zeile.finden('td', Klasse_='Tagesstunden').text.strip()
für Reihe in Suppe.Auswählen(„.biz-hours tr“)
}

# Kontaktinformationen als Schlüssel-Wert-Paar extrahieren
Kontaktinformationen = {
dt.text.strip().replace(':', ''): dd.text.strip()
für dt, dd in Reißverschluss(Suppe.Auswahl(„.details-contact dt“), Suppe.Auswahl(„.details-contact dd“))
}

# Speichern Sie die Details in einem Wörterbuch
Details = {
'Süßkartoffel': Name,
'Std': Std,
'Kontaktdaten': Kontaktinformationen
}
Rückkehr Details

Indem wir unsere Anfragen über Crawlbase weiterleiten, fügen wir wichtige IP-Rotations- und Anti-Bot-Maßnahmen hinzu, die die Zuverlässigkeit und Skalierbarkeit unseres Scrapers erhöhen. Dieses Setup ist ideal, um große Datenmengen von SuperPages ohne Unterbrechungen oder Blockaden zu sammeln und den Scraper effizient und effektiv zu halten.

Abschließende Überlegungen

In diesem Blog haben wir erläutert, wie man SuperPages durchsucht, um Leads zu erhalten. Wir haben gelernt, Geschäftsdaten wie Namen, Adressen und Telefonnummern zu extrahieren. Wir haben Requests und BeautifulSoup verwendet, um einen einfachen Scraper zum Abrufen dieser Daten zu erstellen.

Wir haben auch besprochen, wie man die Paginierung handhabt, um alle Einträge auf der Website zu erhalten. Durch die Verwendung von Crawlbase Smart Proxyhaben wir unseren Scraper zuverlässiger und effizienter gemacht, sodass wir bei der Datenerfassung nicht blockiert werden.

Indem Sie die in dieser Anleitung beschriebenen Schritte befolgen, können Sie Ihren Scraper erstellen und mit dem Extrahieren wichtiger Daten beginnen. Wenn Sie mehr Web Scraping betreiben möchten, lesen Sie unsere Anleitungen zum Scraping anderer wichtiger Websites.

📜 Einfaches Scrapen von Costco-Produktdaten
📜 So scrapen Sie Houzz-Daten
📜 So scrapen Sie Tokopedia
📜 Scrapen Sie OpenSea-Daten mit Python
📜 So scrapen Sie Gumtree-Daten in einfachen Schritten

Bei Fragen oder Anregungen steht Ihnen unser Support-Team ist hier, um Ihnen zu helfen. Viel Spaß beim Scrapen!

Häufig gestellte Fragen

F: Wie kann ich vermeiden, beim Scraping von SuperPages blockiert zu werden?

Um Blockierungen zu vermeiden, fügen Sie Verzögerungen zwischen den Anfragen hinzu, begrenzen Sie die Anfragehäufigkeit und wechseln Sie die IP-Adressen. Tools wie Crawlbase Smart Proxy kann diesen Prozess vereinfachen, indem IP-Adressen für Sie rotiert werden, damit Ihr Scraper reibungslos läuft. Vermeiden Sie zu häufige Anfragen und befolgen Sie bewährte Scraping-Praktiken.

F: Warum erhalte ich keine Ergebnisse, wenn ich versuche, SuperPages zu scrapen?

Wenn Ihr Scraper keine Ergebnisse zurückgibt, überprüfen Sie, ob Ihre HTML-Selektoren mit der Struktur von SuperPages übereinstimmen. Manchmal erfordern kleinere Änderungen in der HTML-Struktur der Website, dass Sie Ihre Selektoren aktualisieren. Stellen Sie außerdem sicher, dass Sie die Paginierung richtig handhaben, wenn Sie versuchen, mehrere Seiten mit Ergebnissen abzurufen.

F: Wie kann ich die Scraped-Daten in anderen Formaten als JSON speichern?

Wenn Sie Ihre Scraped-Daten in anderen Formaten wie CSV oder Excel benötigen, können Sie das Skript problemlos ändern. Für CSV verwenden Sie Pythons csv Modul zum Speichern von Daten in Zeilen. Für Excel ist das pandas Bibliothek verfügt über eine .to_excel() Funktion, die gut funktioniert. Diese Flexibilität kann Ihnen helfen, die Daten auf eine Weise zu analysieren oder freizugeben, die Ihren Anforderungen entspricht.