Das Scraping von Daten von Foursquare ist für Entwickler und Unternehmen, die Daten zu Veranstaltungsorten, Nutzerbewertungen oder standortbezogenen Informationen benötigen, äußerst hilfreich. Foursquare ist einer der beliebtesten standortbezogenen Dienste mit über 50 Millionen aktive monatliche Benutzer und über 95 Millionen Standorte weltweit. Durch das Scraping von Daten von Foursquare können Sie wertvolle Informationen für die Marktforschung, Geschäftsentwicklung oder den Aufbau standortbasierter Anwendungen erhalten.
Dieser Artikel zeigt Ihnen, wie Sie ganz einfach Foursquare-Daten mit Python scrapen können und Crawlbase Crawling API Das ist ideal für Websites wie Foursquare, die stark auf JavaScript-Rendering angewiesen sind. Egal, ob Sie Suchlisten oder detaillierte Veranstaltungsortinformationen erhalten möchten, wir zeigen Ihnen Schritt für Schritt, wie das geht.
Lassen Sie uns in den Prozess eintauchen, vom Einrichten Ihrer Python-Umgebung bis zum strukturierten Extrahieren und Speichern von Foursquare-Daten.
Inhaltsverzeichnis
- Warum Daten aus Foursquare extrahieren?
- Wichtige Datenpunkte zum Extrahieren aus Foursquare
- Crawlbase Crawling API für Foursquare Scraping
- Crawlbase Python-Bibliothek
- Installieren von Python und erforderlichen Bibliotheken
- Auswahl einer IDE
- Überprüfen des HTML auf Selektoren
- Schreiben des Foursquare Search Listings Scrapers
- Umgang mit Paginierung
- Speichern von Daten in einer JSON-Datei
- Vollständiges Codebeispiel
- Überprüfen des HTML auf Selektoren
- Schreiben des Foursquare Venue Details Scrapers
- Speichern von Daten in einer JSON-Datei
- Vollständiges Codebeispiel
Warum Daten aus Foursquare extrahieren?
Foursquare ist eine riesige Plattform mit Standortdaten zu Millionen von Orten wie Restaurants, Cafés, Parks und mehr. Egal, ob Sie eine standortbasierte App erstellen, Marktforschung betreiben oder Bewertungen von Veranstaltungsorten analysieren, Foursquare bietet alles. Durch das Extrahieren dieser Daten können Sie Erkenntnisse gewinnen, die Ihre Entscheidungen und Planungen unterstützen.
Unternehmen können Foursquare-Daten nutzen, um mehr über Kundenpräferenzen, beliebte Veranstaltungsorte und regionale Trends zu erfahren. Entwickler können diese Daten nutzen, um benutzerdefinierte Apps wie Reiseführer oder Empfehlungsmaschinen zu erstellen. Foursquare verfügt über Namen, Adressen, Bewertungen und Rezensionen von Veranstaltungsorten. Das Extrahieren von Daten aus dieser Plattform kann also für Ihr Projekt von entscheidender Bedeutung sein.
Wichtige Datenpunkte zum Extrahieren aus Foursquare
Wenn Sie Foursquare scrapen, müssen Sie wissen, welche Daten Sie sammeln können. Folgendes können Sie von Foursquare erhalten:
- Veranstaltungsort Namen: Der Firmen- oder Ortsname, z. B. Restaurant, Café, Park.
- Adresse: Vollständige Adresse des Veranstaltungsortes mit Straße, Ort und Postleitzahl.
- Kategorie: Art des Veranstaltungsortes (z. B. Restaurant, Bar, Museum), um die Daten zu kategorisieren.
- Bewertungen und Rezensionen: Vom Benutzer erstellte Bewertungen und Rezensionen, um die Kundenzufriedenheit zu ermitteln.
- Öffnungszeiten: Geschäftszeiten des Veranstaltungsortes, geeignet für zeitkritische Anwendungen.
- Kontaktinformationen: Telefonnummern, E-Mail-Adressen oder Websites, um den Veranstaltungsort zu kontaktieren.
- Fotos: Der Benutzer hat Fotos hochgeladen, um sich ein Bild vom Veranstaltungsort zu machen.
- Geokoordinaten: Breiten- und Längengrad des Veranstaltungsortes für Karten- und standortbasierte Apps.
Crawlbase Crawling API für Foursquare Scraping
Foursquare verwendet JavaScript, um seine Inhalte dynamisch zu laden, was das Scraping mit herkömmlichen Methoden erschwert. Hier kommt Crawlbase Crawling API kommt ins Spiel. Es ist für die Handhabung von Websites mit intensivem JavaScript-Rendering konzipiert, indem es echte Benutzerinteraktionen nachahmt und die gesamte Seite rendert.
Darum verwenden Sie die Crawlbase Crawling API zum Scrapen ist Foursquare eine gute Wahl:
- JavaScript-Rendering: Es kümmert sich um das Laden aller dynamischen Inhalte auf Foursquare-Seiten, sodass Sie vollständige Daten erhalten, ohne wichtige Informationen zu verpassen.
- IP-Rotation und Proxys: Crawlbase rotiert automatisch IP-Adressen und verwendet intelligente Proxys, um eine Blockierung durch die Site zu vermeiden.
- Einfache Integration: Die Crawlbase-API lässt sich einfach in Python integrieren und bietet flexible Optionen zur Steuerung des Scrapings, wie etwa Scroll-Intervalle, Wartezeiten und Paginierungshandhabung.
Crawlbase Python-Bibliothek
Crawlbase hat auch eine Python-Bibliothek mit dem Sie Crawlbase-Produkte ganz einfach in Ihren Projekten verwenden können. Sie benötigen einen Zugriffstoken, den Sie durch die Anmeldung bei Crawlbase erhalten.
Hier ist ein Beispiel zum Senden einer Anfrage an Crawlbase Crawling API:
1 | für Crawlbase importieren CrawlingAPI |
Note: Crawlbase bietet zwei Arten von Token: ein normales Token für statische Websites und ein JavaScript (JS)-Token für dynamische oder im Browser gerenderte Inhalte, das zum Scraping von Foursquare erforderlich ist. Crawlbase bietet außerdem 1,000 kostenlose Anfragen, um Ihnen den Einstieg zu erleichtern, und Sie können sich ohne Kreditkarte anmelden. Weitere Informationen finden Sie unter Crawlbase Crawling API Dokumentation.
Im nächsten Abschnitt gehen wir durch, wie Sie Ihre Python-Umgebung einrichten, um mit dem Scraping zu beginnen.
Einrichten Ihrer Python-Umgebung
Bevor wir mit dem Scraping von Foursquare-Daten beginnen können, müssen wir die richtige Python-Umgebung einrichten. Dazu gehört die Installation von Python und den erforderlichen Bibliotheken sowie die Auswahl der richtigen IDE (Integrated Development Environment) 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 Python hier herunterladen: python.org. Nach der Installation können Sie überprüfen, 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 Crawlbase und BeautifulSoup zum Parsen von HTML. Sie können diese Bibliotheken installieren, indem Sie den folgenden Befehl ausführen:
1 | pip installieren crawlbase beautifulsoup4 |
Diese Bibliotheken helfen Ihnen bei der Interaktion mit der Crawlbase Crawling API, extrahieren Sie nützliche Informationen aus dem HTML und organisieren Sie die Daten.
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 großartiger Python-Unterstützung.
- PyCharm: Eine fortgeschrittenere Python-IDE mit vielen Funktionen.
- Jupyter Notizbuch: Eine fortgeschrittenere Python-IDE mit vielen Funktionen.
Wählen Sie aus, was Ihnen gefällt. Sobald Sie Ihre Umgebung eingerichtet haben, können Sie mit dem Schreiben des Codes für die Foursquare-Sucheinträge beginnen.
Scraping von Foursquare-Sucheinträgen
In diesem Abschnitt werden wir Suchlisten von Foursquare extrahieren. Foursquare-Suchlisten enthalten verschiedene Details zu Orten, wie Name, Adresse, Kategorie und mehr. Wir werden dies in die folgenden Schritte unterteilen:
Überprüfen des HTML auf Selektoren
Bevor wir den Scraper schreiben, müssen wir die Foursquare-Suchseite untersuchen, um die HTML-Struktur und CSS-Selektoren zu identifizieren, die die Daten enthalten, die wir extrahieren möchten. So können Sie das tun:
- Öffnen Sie die Seite „Sucheinträge“: Gehen Sie zu einer Foursquare-Suchergebnisseite (suchen Sie beispielsweise nach „Restaurants“ an einem bestimmten Ort).
- Ü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.
- Finden Sie die relevanten Elemente:
- Ortsname: Der Ortsname befindet sich innerhalb eines
<div>
tag mit der klasse.venueName
und der eigentliche Name befindet sich in einem<a>
Tag innerhalb dieses Div. - Adresse: Die Adresse befindet sich innerhalb eines
<div>
tag mit der klasse.venueAddress
. - Kategorie: Die Kategorie des Ortes kann aus einer
<span>
tag mit der klasse.categoryName
. - Link: Der Link zu den Ortsdetails befindet sich im selben
<a>
tag innerhalb der.venueName
Div.
Überprüfen Sie die Seite auf zusätzliche Daten, die Sie extrahieren möchten, beispielsweise die Bewertung oder die Anzahl der Rezensionen.
Schreiben des Foursquare Search Listings Scrapers
Nachdem wir nun unsere CSS-Selektoren für die Datenpunkte haben, können wir mit dem Schreiben des Scrapers beginnen. Wir verwenden die Crawlbase Crawling API zur Verarbeitung von JavaScript-Rendering und AJAX-Anfragen unter Verwendung seiner ajax_wait
und page_wait
Parameter.
Hier ist der Code:
1 | für Crawlbase importieren CrawlingAPI |
Im obigen Code stellen wir eine Anfrage an die Foursquare-Suchseite mit Crawlbase Crawling API. Wir gebrauchen BeautifulSoup
um das HTML zu analysieren und die Datenpunkte mithilfe der CSS-Selektoren zu extrahieren. Dann speichern wir die Daten in einer Liste von Wörterbüchern.
Umgang mit Paginierung
Foursquare-Sucheinträge verwenden eine schaltflächenbasierte Paginierung. Für die Paginierung verwenden wir die css_click_selector
Parameter, der von der Crawlbase bereitgestellt wird Crawling API. Dadurch können wir einen Schaltflächenklick simulieren, um den nächsten Ergebnissatz zu laden.
Wir setzen die css_click_selector
zur Schaltflächenklasse oder ID, die für die Paginierung verantwortlich ist (normalerweise eine Schaltfläche „Weitere Ergebnisse anzeigen“).
1 | def make_crawlbase_request_mit_pagination(URL): |
Speichern von Daten in einer JSON-Datei
Sobald wir die Daten extrahiert haben, können wir sie zur späteren Verwendung in einer JSON-Datei speichern. JSON ist ein beliebtes Format zum Speichern und Austauschen von Daten.
1 | def speichere_daten_in_json(Daten, Dateiname='foursquare_data.json'): |
Vollständiges Codebeispiel
Unten finden Sie den vollständigen Code, der alle Schritte kombiniert:
1 | für Crawlbase importieren CrawlingAPI |
Beispielausgabe:
1 | [ |
Scraping der Foursquare-Veranstaltungsortdetails
In diesem Abschnitt erfahren Sie, wie Sie die Details einzelner Foursquare-Veranstaltungsorte abrufen. Nachdem Sie die Einträge abgerufen haben, können Sie tiefer graben und spezifische Daten von der Seite jedes Veranstaltungsorts erfassen.
Überprüfen des HTML auf Selektoren
Bevor wir unseren Scraper schreiben, müssen wir zunächst die Foursquare-Seite mit den Veranstaltungsortdetails untersuchen, um herauszufinden, welche HTML-Elemente die gewünschten Daten enthalten. So sollten Sie vorgehen:
- Besuchen Sie die Seite eines Veranstaltungsortes: Öffnen Sie eine Foursquare-Veranstaltungsortseite im Browser.
- Verwenden Sie Entwicklertools: 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.
- Identifizieren von CSS-Selektoren: Suchen Sie nach den HTML-Elementen, die die gewünschten Informationen enthalten. Hier sind einige allgemeine Details und ihre möglichen Selektoren:
- Veranstaltungsort Namen: Gefunden in einem
<h1>
tag mit der klasse.venueName
. - Adresse: Gefunden in einem
<div>
tag mit der klasse.venueAddress
. - Phone Number: Gefunden in einem
<span>
Tag mit dem Attributitemprop="telephone"
. - Rating: Gefunden in einem
<span>
Tag mit dem Attributitemprop="ratingValue"
. - Bewertungen zählen: Gefunden in einem
<div>
tag mit der klasse.numRatings
.
Schreiben des Foursquare Venue Details Scrapers
Nachdem wir nun die CSS-Selektoren für die Veranstaltungsortdetails haben, schreiben wir den Scraper. Genau wie im vorherigen Abschnitt verwenden wir Crawlbase, um das JavaScript-Rendering und die Ajax-Anfragen abzuwickeln.
Hier ist ein Beispiel für ein Python-Skript zum Scrapen von Veranstaltungsortdetails mit Crawlbase und BeautifulSoup:
1 | für Crawlbase importieren CrawlingAPI |
Wir verwenden Crawlbase's get()
Methode, um die Veranstaltungsortseite zu erhalten. Die ajax_wait
und page_wait
Optionen stellen sicher, dass die Seite vollständig geladen wird, bevor wir mit dem Scraping beginnen. Wir verwenden BeautifulSoup, um das HTML zu lesen und den Namen, die Adresse, die Telefonnummer, die Bewertung und die Rezensionen des Veranstaltungsorts zu finden. Wenn Crawlbase die Seite nicht abrufen kann, wird eine Fehlermeldung angezeigt.
Speichern von Daten in einer JSON-Datei
Nachdem Sie die Veranstaltungsortdetails extrahiert haben, müssen Sie die Daten zur späteren Verwendung speichern. Wir speichern die extrahierten Daten in einer JSON-Datei.
Hier die Funktion zum Speichern der Daten:
1 | def Veranstaltungsortdaten speichern(Daten, Dateiname=„foursquare_venue_details.json“): |
Sie können diese Funktion jetzt aufrufen, nachdem Sie die Details zum Veranstaltungsort abgefragt und die Daten als Argument übergeben haben.
Vollständiges Codebeispiel
Hier ist das vollständige Codebeispiel, das alles zusammenfügt.
1 | für Crawlbase importieren CrawlingAPI |
Beispielausgabe:
1 | { |
Abschließende Überlegungen
In diesem Blog haben wir gelernt, wie man Daten von Foursquare mit dem Crawlbase Crawling API und BeautifulSoup. Wir haben die wichtigen Teile behandelt, wie das Überprüfen des HTML auf Selektoren, das Schreiben von Scrapern für Suchlisten und Veranstaltungsortdetails und die Handhabung der Paginierung. Das Scraping von Foursquare-Daten kann sehr nützlich sein, aber Sie müssen es verantwortungsbewusst tun und die Nutzungsbedingungen der Website einhalten.
Mit den in diesem Blog beschriebenen Methoden können Sie alle möglichen Informationen zu Veranstaltungsorten wie Namen, Adressen, Telefonnummern, Bewertungen und Rezensionen von Foursquare sammeln. Diese Daten können für Recherchen, Analysen oder die Erstellung Ihrer Apps nützlich sein.
Wenn Sie mehr Web Scraping betreiben möchten, sehen Sie sich unsere Anleitungen zum Scraping anderer wichtiger Websites an.
📜 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
Wenn Sie Fragen haben oder Feedback geben möchten, unsere Support-Team kann Ihnen beim Web Scraping helfen. Viel Spaß beim Scraping!
Häufig gestellte Fragen
F: Ist es legal, Daten von Websites zu scrapen?
Die Rechtmäßigkeit von Web Scraping hängt von den Nutzungsbedingungen der Website ab. Viele Websites erlauben die private Nutzung, manche jedoch nicht. Überprüfen Sie immer die Richtlinien der Website, bevor Sie Daten scrapen. Respektieren Sie diese Regeln und überlasten Sie die Server der Website nicht. Wenden Sie sich im Zweifelsfall an den Websitebesitzer, um eine Erlaubnis einzuholen.
F: Wie kann ich Veranstaltungsortdetails von Foursquare extrahieren?
Um Veranstaltungsortdetails von Foursquare abzurufen, müssen Sie ein Web-Scraping-Tool oder eine Bibliothek wie BeautifulSoup zusammen mit einem Dienst wie Crawlbase verwenden. Untersuchen Sie zunächst das HTML der Veranstaltungsortseite, um die CSS-Selektoren für die gewünschten Details zu finden, z. B. den Namen, die Adresse und die Bewertungen des Veranstaltungsorts. Schreiben Sie dann ein Skript, das den Seiteninhalt abruft und die Daten mithilfe der identifizierten Selektoren extrahiert.
F: Wie gehe ich mit der Seitennummerierung beim Scraping von Foursquare um?
Foursquare verfügt über eine Schaltfläche „Weitere Ergebnisse anzeigen“, um weitere Veranstaltungsorte anzuzeigen. Eine der Lösungen, um dies in Ihrem Scraper zu handhaben, ist die Crawlbase Crawling API. Durch die Verwendung der css_click_selector
Parameter aus dieser API, Ihr Scraper kann auf die Schaltfläche „Weitere Ergebnisse anzeigen“ klicken, um weitere Ergebnisse abzurufen. Auf diese Weise erfassen Sie beim Scraping alle Daten.