Zurück zum Blog
Anwendungsfälle
Robert SfichiLast updated on Mar 31, 20266 min read

So nutzen Sie die WebScrapingAPI zum Sammeln von Yelp-Daten

So nutzen Sie die WebScrapingAPI zum Sammeln von Yelp-Daten

Haben Sie sich schon einmal gefragt, wie Unternehmen den Überblick über die Konkurrenz behalten? Natürlich klingen Doppelagenten, Privatdetektive und Ferngläser nach Spaß, aber das echte Leben ist nicht wie im Film. Eine echte Wettbewerbsanalyse ist ein mühsamer Prozess, den man besser der Software überlässt. So können Sie sich darauf konzentrieren, Ihren Kunden den größtmöglichen Mehrwert zu bieten.

Heutzutage sind alle Informationen, die Sie benötigen, bereits öffentlich zugänglich. Da soziale Medien in den letzten Jahrzehnten stark an Bedeutung gewonnen haben, versuchen Unternehmen, durch den Aufbau einer Online-Präsenz stärker im Leben ihrer Kunden präsent zu sein. Die Informationen sind bereits vorhanden. Wir müssen nur einen Weg finden, den Prozess der Datenerfassung zu automatisieren.

Im folgenden Artikel erstellen wir ein Skript, das uns dabei hilft, alle benötigten Informationen über unsere Wettbewerber zu sammeln, indem wir deren öffentliche Yelp-Profile nutzen.

Warum Sie Daten von Wettbewerbern sammeln sollten

Die Untersuchung der Produktpreise von Wettbewerbern, die Überprüfung ihrer Produktpalette und Kategorien oder die Analyse ihrer Social-Media-Strategie sind nur drei der wertvollsten Taktiken, die Sie zur Verbesserung Ihres Unternehmens einsetzen können.

Das Auffinden und Vergleichen von Produktpreisen ist keine besonders schwierige Aufgabe, aber zeitaufwändig. Mit einem Web-Scraping-Tool können Sie automatisch aktuelle Informationen über die Preisstrategie und Flash-Sales Ihrer Konkurrenten abrufen.

Das Scraping der Produktpaletten und Kategorien Ihrer Konkurrenten hilft Ihnen, die Trends, die den Markt bestimmen, besser zu verstehen. Wenn Sie beispielsweise ein Restaurant besitzen, können Sie herausfinden, dass ein bestimmtes Gericht wie der vegane Burger in Ihrer Stadt im Trend liegt, sodass Sie Anpassungen an Ihrer Speisekarte vornehmen können, um den Umsatz zu steigern.

Soziale Medien sind nicht nur nützlich, um die Bindung zwischen Unternehmen und Kunden zu stärken. Durch die Analyse der Social-Media-Strategie Ihrer Mitbewerber können Sie in nur wenigen Minuten herausfinden, was funktioniert und was nicht. Durch einfaches Scraping finden Sie leicht Antworten auf Fragen wie „Wie oft posten sie pro Woche?“ oder „Welche Bilder sorgen für ein hohes Engagement?“.

Warum Yelp der perfekte Ort ist, um Daten von Mitbewerbern zu scrapen

Yelp ist eine der beliebtesten Online-Plattformen, auf der Nutzer ihre Erfahrungen teilen und anderen dabei helfen können, fundierte Entscheidungen über lokale Unternehmen zu treffen. Wenn Sie ein Unternehmen besitzen oder eines gründen möchten, kann das Ermitteln wertvoller Informationen über die Konkurrenz Ihre Erfolgsquote erheblich steigern. Informationen über den genauen Standort, die Öffnungszeiten, Lieferservices oder die Art des Unternehmens sind nur einige der Angaben, die Sie durch das Durchsuchen von Yelp finden können.

Noch besser ist, dass Sie den Zeitaufwand für die Analyse der Konkurrenz durch den Einsatz eines Web-Scraping-Tools reduzieren und sich mehr auf den Aufbau eines besseren Unternehmens konzentrieren können. Diese Strategie wird sich langfristig auszahlen, da die Automatisierung des Datenerfassungsprozesses zu einer der mühsamsten und zeitaufwändigsten Aufgaben werden kann.

So nutzen Sie WebScrapingAPI, um Daten aus Yelp zu extrahieren

Im folgenden Abschnitt werden wir Node.js und einige Bibliotheken wie got und jsdom verwenden, um ein Skript zu erstellen, das alle Daten von einer Yelp-Seite abruft und sie übersichtlich formatiert, damit sie so verständlich wie möglich sind. Schauen wir uns an, wie all die oben genannten Informationen in greifbare Ergebnisse umgewandelt werden können:

1. Finden Sie die benötigten Daten

Nehmen wir an, wir möchten ein Restaurant in New York City eröffnen. Wir möchten eine Liste von Mitbewerbern erstellen, die hilfreiche Informationen enthält wie:

  • Anzahl der Bewertungen
  • Art des Restaurants
  • Preise
  • Standort

Die URL, die wir scrapen werden, lautet wie folgt: https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1.

Sie können parallel zum Artikel scrapen, wenn Sie Ihre kostenlose Testversion mit 5000 Anfragen und Zugriff auf alle Funktionen starten, um unser Produkt zu testen. Sie können jedes Scraping-Tool verwenden, mit dem Sie am besten zurechtkommen. Beachten Sie jedoch, dass sich das Tutorial ab hier darauf konzentriert, wie Sie die Ergebnisse mit WebScrapingAPI abrufen.

Nachdem Sie erfolgreich ein kostenloses Konto erstellt haben, rufen Sie die API-Playground-Seite auf, indem Sie auf der Dashboard-Seite auf die Schaltfläche „Use API Playground“ klicken. Die Seite sollte wie folgt aussehen:

Wie der Name schon sagt, ist dies der Ort, an dem wir das Scraping-Tool testen können, bevor wir unser Skript erstellen. Kopieren wir die oben angegebene URL in das URL-Eingabefeld (linke Spalte), scrollen wir ein wenig nach unten und klicken wir auf die Schaltfläche „Send API Request“. Diese Aktion sollte ein Ergebnis liefern, das wie folgt aussieht:

Erstellen wir nun das Skript, das den Großteil der Arbeit für uns erledigen wird.

2. Einrichten des Projekts

Erstellen Sie den Projektordner, öffnen Sie ein Terminalfenster und navigieren Sie dorthin. Wie bereits erwähnt, werden wir die Bibliothek „got“ für die Anfragen und „jsdom“ für unsere Parsing-Anforderungen verwenden. Nachdem Sie den Projektordner aufgerufen haben, führen Sie die folgenden Befehle im Terminal aus:

npm init -y
npm install got jsdom

Das Projekt sollte nun die „package.json“-Dateien enthalten. Erstellen Sie eine neue Datei namens „index.js“ und öffnen Sie sie mit Ihrer bevorzugten IDE. Falls Sie keine installiert haben, empfehlen wir den Download von Visual Studio Code, da diese derzeit als die beliebteste IDE gilt.

3. Eine Anfrage stellen

Lassen Sie uns die Parameter festlegen, die Anfrage stellen und den HTML-Code parsen. Schreiben Sie die folgenden Zeilen in die neu erstellte Datei „index.js“:

const {JSDOM} = require("jsdom")

const got = require("got")

(async () => {
const params = {
    api_key: "YOUR_API_KEY,”
    url:"https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1"
}

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})


const {document} = new JSDOM(response.body).window

const competitors = document.querySelectorAll('.container__09f24__sxa9-')

console.log(competitors)

})()

Achten Sie darauf, die Zeichenfolge „YOUR_API_KEY“ durch den API-Schlüssel zu ersetzen, den Sie von unserem Dienst erhalten haben. Sie finden ihn auf der Dashboard-Seite.

Durch Ausführen des Skripts senden wir eine Anfrage an den WebScrapingAPI-Dienst, um den HTML-Code der Yelp-Seite abzurufen. Anschließend sammeln wir alle Elemente auf der Seite, die Informationen über unsere Mitbewerber enthalten, und protokollieren diese mithilfe der Funktion „console.log“ auf dem Bildschirm.

4. Die Seite untersuchen

Kehren wir zur Yelp-Seite zurück und finden wir heraus, wie wir nur die Informationen auswählen können, die wir benötigen. Klicken Sie mit der rechten Maustaste auf den Namen des ersten Restaurants und wählen Sie „Inspect“.

Es öffnet sich ein neues Fenster mit dem HTML-Quellcode:

Lassen Sie uns alle benötigten Informationen finden, indem wir nach den HTML-Elementen suchen, die sie enthalten. In der oben gezeigten Abbildung sehen wir leicht, dass das Element, das den Namen des Restaurants enthält, die CSS-Klasse „css-166la90“ hat. Um alle Namen unserer Mitbewerber zu erhalten, müssen wir alle Elemente auf der Seite mit dieser Klasse auswählen. Das Gleiche machen wir mit allen zuvor dargestellten Details, wie der Anzahl der Bewertungen, der Art des Restaurants, den Preisen und dem Standort.

5. Formatieren der Informationen

Wir werden nun alle benötigten Informationen aus der resultierenden API-Antwort abrufen. Wir werden den Namen des Restaurants, die Bewertungsnote, die Art des Restaurants, die Preisspanne und den Standort abrufen und formatieren. Fügen Sie die folgenden Codezeilen in die Datei „index.js“ ein.

competitors.forEach((competitor) => {
    if (competitor) {
        const name = competitor.querySelector('.css-166la90')
        if (name) competitor.name = name.innerHTML

        const reviewScore = competitor.querySelector('.reviewCount__09f24__EUXPN')
        if (reviewScore) competitor.review_score = `${reviewScore.innerHTML}/100`

        const types = competitor.querySelectorAll('.css-1hx6l2b')
        if (types) {
            competitor.types = []
            for (type of types) competitor.types.push(type.innerText)
       }

       const priceRange = competitor.querySelector('.priceRange__09f24__2O6le')
       if (priceRange) competitor.price_range = priceRange.innerHTML

       const locationContainer = competitor.querySelector('.priceCategory__09f24__Ylk7h')
       if (locationContainer) {
	     let location = locationContainer.querySelector('.css-e81eai')
	     competitor.location = location
       }

       results.push(competitor)
    }
})

console.log(results)

Am Ende erhalten wir ein Array von Objekten, von denen jedes einen Mitbewerber auf der Seite und dessen spezifische Daten enthält.

Wie du siehst, ist das Scrapen von Yelp-Daten mit WebScrapingAPI recht einfach. Wir müssen eine Scraping-API verwenden, um den HTML-Inhalt abzurufen, die Antwort zu analysieren, die relevanten Informationen aus jedem Element auf der Seite zu extrahieren und alles zu einer Liste zusammenzufassen.

Lernen Sie Ihre Konkurrenz ohne zusätzlichen Aufwand kennen

Um heutzutage ein neues Unternehmen zu gründen, braucht es weit mehr als nur ein großartiges Produkt. Je nachdem, wie kreativ Sie sein können, bieten sich unzählige Möglichkeiten. Zu den wertvollsten Strategien, auf die Unternehmer achten sollten, gehören:

  • eine herausragende Online-Präsenz aufzubauen
  • daran arbeiten, den größten Mehrwert zum niedrigsten Preis zu bieten
  • ein umfassendes Verständnis der Wettbewerbsvorteile

All diese Strategien können für das eigene Unternehmen entscheidend sein. Es ist beruhigend zu wissen, dass Web-Scraper eine große Hilfe bei der Bewältigung dieser Probleme bieten. Die Automatisierung des Datenerfassungsprozesses ist möglicherweise der einfachste Schritt zur Verbesserung des Geschäfts.

Wir versuchen, Ihnen dabei zu helfen, indem wir die notwendigen Tools für diese Art von Aufgaben entwickeln. Vielen Dank, dass Sie bis zum Ende gelesen haben, und denken Sie daran, dass die WebScraping-API eine kostenlose Testphase bietet, nach deren Ablauf Nutzer auf den kostenlosen Tarif umgestellt werden, sodass Sie die API nach Herzenslust testen können, ohne einen Cent auszugeben.

Über den Autor
Robert Sfichi, Full-Stack-Entwickler @ WebScrapingAPI
Robert SfichiFull-Stack-Entwickler

Robert Sfichi ist Teammitglied bei WebScrapingAPI, wo er an der Produktentwicklung mitwirkt und dabei hilft, zuverlässige Lösungen zu entwickeln, die die Plattform und ihre Nutzer unterstützen.

Los geht’s

Sind Sie bereit, Ihre Datenerfassung zu erweitern?

Schließen Sie sich den über 2.000 Unternehmen an, die WebScrapingAPI nutzen, um Webdaten im Unternehmensmaßstab ohne zusätzlichen Infrastrukturaufwand zu extrahieren.