Glassdoor ist eine der größten Job- und Unternehmensrecherche-Plattformen im offenen Web, und seine öffentlichen Listing-Seiten tragen viel strukturiertes Signal: Berufsbezeichnungen, die einstellenden Unternehmen, wo die Stellen ansässig sind, und die Sternebewertungen, die Mitarbeiter diesen Unternehmen geben. Recruiter beobachten es, um die Nachfrage zu benchmarken, Analysten nutzen es, um Einstellungstrends über Branchen hinweg zu studieren, und Jobsuchende vergleichen Stellen und Arbeitgeberbewertungen nebeneinander. All das steht auf der öffentlichen Suchergebnisseite in einem vorhersagbaren Layout.

Diese Anleitung zeigt, wie man Glassdoor mit JavaScript und Node.js mit Cheerio scraped. Sie erstellen einen kleinen, lauffähigen Scraper, der eine öffentliche Glassdoor-Jobsuche-Seite über die Crawling API abruft, Jobtitel, Unternehmen, Standort, Unternehmensbewertung, Gehaltsschätzung und Link für jede Stelle parst, die Paginierung verwaltet und das Ergebnis als JSON und CSV exportiert. Die gesamte Anleitung beschränkt sich auf öffentliche Job- und Unternehmens-Listing-Daten, und der Legalitätsabschnitt gegen Ende ist kein Standardtext, also lesen Sie ihn, bevor Sie das auf beliebiges Volumen anwenden.

Was Sie bauen werden

Ein Node.js-Skript, das eine öffentliche Glassdoor-Jobsuche-URL entgegennimmt, das gerenderte HTML über die Crawling API abruft und einen strukturierten Datensatz für jede Job-Karte auf der Ergebnisseite extrahiert. Als durchgehendes Beispiel verwenden wir eine Entwicklerjobs-Suche und lesen folgende Felder je Stelle aus:

  • Title der auf der Karte angezeigte Jobtitel, zum Beispiel "React Native Developer".
  • Company der Name des einstellenden Arbeitgebers.
  • Rating die öffentliche Sternebewertung des Unternehmens, wenn Glassdoor eine für diesen Arbeitgeber anzeigt.
  • Location die Stadt und Region, in der die Stelle ansässig ist.
  • Salary die geschätzte Gehaltsspanne, wenn auf der Karte vorhanden.
  • Post date wie lange die Stelle schon online ist, zum Beispiel "30d+".
  • Link die URL zur individuellen Stellenausschreibung.

Warum eine einfache Anfrage auf Glassdoor scheitert

Wenn Sie eine Glassdoor-Such-URL mit einem einfachen HTTP-Client anfragen, erhalten Sie selten die Job-Karten zurück. Zwei Dinge wirken gegen Sie. Erstens rendert Glassdoor die Ergebnisliste im Browser mit JavaScript, sodass das anfängliche HTML eine fast leere Hülle ist, bis die Seitenskripte ausgeführt werden. Zweitens erkennt Glassdoor automatisierten Traffic aggressiv: Datacenter-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, werden mit einem CAPTCHA herausgefordert, rate-limitiert oder blockiert, bevor sie jemals die gerenderten Listings sehen.

Ein funktionsfähiger Glassdoor-Scraper braucht also zwei Dinge in einer Anfrage: einen Browser, der die Seite tatsächlich rendert, und eine IP, die die Plattform als echten Besucher liest. Sie können das selbst mit einem Headless-Browser und einem Pool aus rotierenden Residential-Proxys zusammenstellen, aber diese zu verknüpfen und in Schuss zu halten, ist der größte Teil der Arbeit. Die Crawling API bündelt beides in einem einzigen Aufruf: Sie übergeben ihr die URL, sie rendert die Seite hinter einer vertrauenswürdigen IP und gibt fertiges HTML zum Parsen mit Cheerio zurück.

Use the JavaScript token

Die Crawling API bietet zwei Tokens: einen normalen und einen JavaScript-Token. Glassdoor benötigt, dass die Seite in einem echten Browser gerendert wird, also verwenden Sie für jede Anfrage in dieser Anleitung Ihren JavaScript-Token. Der normale Token gibt die nicht gerenderte Hülle zurück und Ihre Selektoren werden leer zurückkommen.

Voraussetzungen

Vor dem Schreiben von Code müssen einige Dinge vorhanden sein. Keines davon nimmt viel Zeit in Anspruch.

Grundlegendes JavaScript und Node.js. Sie sollten in der Lage sein, ein Node-Skript zu schreiben und auszuführen sowie Pakete mit npm zu installieren. Wer neu in Node ist: Die offizielle Dokumentation und ein Einführungskurs bringen Sie auf das Niveau, das dieses Tutorial voraussetzt. Für eine ausführlichere Anleitung deckt unser Leitfaden zum Aufbau eines Web-Scrapers mit Node.js die Grundlagen ab.

Node.js 16 oder höher. Bestätigen Sie Ihre Version mit node --version. Falls nicht installiert, installieren Sie es von der Node.js-Website oder über einen Versionsmanager wie nvm.

Ein Crawlbase-Konto und Token. Registrieren Sie sich, öffnen Sie Ihr Dashboard und kopieren Sie Ihren JavaScript-Token von der Konto-Dokumentationsseite. Das kostenlose Kontingent umfasst bis zu 5.000 Anfragen ohne Kreditkarte, und Sie zahlen nur für erfolgreiche Anfragen. Behandeln Sie den Token wie ein Passwort: Er authentifiziert Ihre Anfragen, also bewahren Sie ihn aus der Versionskontrolle heraus.

Projekt einrichten

Erstellen Sie einen Projektordner, initialisieren Sie ihn und installieren Sie die zwei Bibliotheken, die der Scraper benötigt.

bash
node --version

mkdir glassdoor-scraper && cd glassdoor-scraper
npm init -y

npm install crawlbase cheerio

Zwei Abhängigkeiten erledigen die Arbeit: crawlbase ist der offizielle Node-Client für die Crawling API, und cheerio parst das zurückgegebene HTML mit einer jQuery-ähnlichen API, sodass Sie einzelne Felder per CSS-Selektor auslesen können. Erstellen Sie eine Datei namens scraper.js in diesem Ordner und fügen Sie den Code aus den folgenden Schritten hinzu.

Schritt 1: Die gerenderte Suchseite abrufen

Beginnen Sie damit, die fertige Seite zu erhalten. Importieren Sie die CrawlingAPI-Klasse, initialisieren Sie sie mit Ihrem JavaScript-Token und fordern Sie eine öffentliche Glassdoor-Such-URL an. Die Statusprüfung vor dem Parsen lässt Fehler laut statt still auftreten.

javascript
const { CrawlingAPI } = require('crawlbase');

const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' });

const glassdoorPageURL =
  'https://www.glassdoor.com/Job/new-york-ny-react-native-developer-jobs-SRCH_IL.0,11_IC1132348_KO12,34.htm';

api
  .get(glassdoorPageURL)
  .then((response) => {
    if (response.statusCode === 200) {
      console.log(response.body.slice(0, 500));
    }
  })
  .catch((error) => console.error('API request error:', error));

Führen Sie das Skript mit node scraper.js aus und Sie sollten echtes Glassdoor-Job-Markup oben im Body sehen, keine abgespeckte Hülle. Das bestätigt, dass das Rendering funktioniert, bevor Sie einen einzigen Selektor schreiben. Die Crawling API verwendet den von Ihnen bereitgestellten JavaScript-Token, um die Seite in einem echten Browser zu rendern, sodass die Job-Karten im zurückgegebenen HTML vorhanden sind.

Crawlbase Glassdoor Scraper

Diese erste Anfrage hat gerade eine vollständig gerenderte Glassdoor-Suchseite zurückgegeben, ohne einen Headless-Browser oder einen Proxy auf Ihrer Seite. Die Crawling API führt die Seite in einem echten Browser aus, rotiert serverseitig durch Residential-IPs und behandelt die CAPTCHAs, die Glassdoor gegen Scraper einsetzt, sodass Sie fertiges HTML aus einem Aufruf erhalten. Testen Sie es auf einer öffentlichen Jobsuche im kostenlosen Kontingent, dann fügen Sie Ihren Parser hinzu.

Schritt 2: Jede Job-Karte mit Cheerio parsen

Mit gerendertem HTML laden Sie es in Cheerio und gehen die Job-Karten durch. Glassdoor listet Ergebnisse in einem "Jobs List"-Container, mit jeder Stelle in ihrer eigenen Karte, also wählen Sie jede Karte aus und lesen dann Titel, Unternehmen, Bewertung, Standort, Gehalt, Veröffentlichungsdatum und Link daraus aus. Das defensive Lesen jedes Felds verhindert, dass ein fehlender Wert den Lauf zum Absturz bringt.

javascript
const cheerio = require('cheerio');

function parseDataFromHTML(html) {
  const $ = cheerio.load(html);
  const searchResults = {
    resultInfo: '',
    jobs: [],
  };

  // Result summary (for example "1,200 React Native Developer Jobs")
  searchResults.resultInfo = $('.SearchResultsHeader_jobCount__12dWB')
    .text()
    .trim();

  // One record per job card
  $('ul[aria-label="Jobs List"] .jobCard').each((_, element) => {
    const card = $(element);

    const title = card.find('.JobCard_seoLink__WdqHZ').text().trim();
    const company = card
      .find('.EmployerProfile_employerName__Xemli')
      .text()
      .trim();
    const rating = card
      .find('.EmployerProfile_ratingContainer__N4hxE')
      .text()
      .trim();
    const location = card.find('.JobCard_location__N_iYE').text().trim();
    const postDate = card
      .find('.JobCard_listingAge__KuaxZ')
      .text()
      .trim();
    const salary = card
      .find('.JobCard_salaryEstimate___m9kY')
      .text()
      .trim();
    let link = card.find('.JobCard_seoLink__WdqHZ').attr('href');
    if (link && link.startsWith('/')) {
      link = new URL(link, 'https://www.glassdoor.com').href;
    }

    if (title) {
      searchResults.jobs.push({
        title,
        company,
        rating: rating || 'Rating not available',
        location,
        salary,
        postDate,
        link: link || '',
      });
    }
  });

  return searchResults;
}

Einige Details halten das der Seite treu. Die Ergebniszusammenfassung kommt aus .SearchResultsHeader_jobCount__12dWB, und jede Stelle befindet sich in einer .jobCard innerhalb des ul[aria-label="Jobs List"]-Containers. Innerhalb einer Karte kommen Titel und Link beide aus dem .JobCard_seoLink__WdqHZ-Anker, das Unternehmen aus .EmployerProfile_employerName__Xemli, die öffentliche Unternehmensbewertung aus .EmployerProfile_ratingContainer__N4hxE, der Standort aus .JobCard_location__N_iYE, das Veröffentlichungsdatum aus .JobCard_listingAge__KuaxZ und die Gehaltsschätzung aus .JobCard_salaryEstimate___m9kY. Der Link wird aus dem href-Attribut des Ankers gelesen und zu einer absoluten URL aufgelöst, damit er außerhalb der Seite funktioniert.

Selectors drift

Glassdoors Klassennamen (die JobCard_*- und EmployerProfile_*-Suffixe oben) werden generiert und ändern sich ohne Vorankündigung. Betrachten Sie die Selektoren als Ausgangspunkt, nicht als Vertrag. Wenn ein Feld leer zurückkommt, inspizieren Sie die Live-Seite in den Entwicklertools Ihres Browsers und aktualisieren Sie den Selektor. Regelmäßige Selektor-Wartung ist bei jedem Produktions-Scraper normal, kein Zeichen, dass etwas kaputt ist.

Schritt 3: Das vollständige Skript mit JSON- und CSV-Export zusammensetzen

Verbinden Sie jetzt Abruf und Parse zu einem lauffähigen Skript und schreiben Sie dann die Datensätze als JSON und CSV auf die Festplatte. Die frühere Anleitung verwendete einen Express-Endpunkt, um den Crawl auszulösen, aber ein einfaches Skript hält die beweglichen Teile reduziert; Sie können es später bei Bedarf in einen Endpunkt einwickeln.

javascript
const fs = require('fs');
const { CrawlingAPI } = require('crawlbase');
const cheerio = require('cheerio');

const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' });

async function crawl(pageUrl) {
  const response = await api.get(pageUrl);
  if (response.statusCode === 200) return response.body;
  console.error(`Request failed: ${response.statusCode}`);
  return null;
}

function toCsv(rows) {
  const headers = [
    'title',
    'company',
    'rating',
    'location',
    'salary',
    'postDate',
    'link',
  ];
  const escape = (value) =>
    `"${String(value).replace(/"/g, '""')}"`;
  const lines = [headers.join(',')];
  for (const row of rows) {
    lines.push(headers.map((h) => escape(row[h])).join(','));
  }
  return lines.join('\n');
}

async function main() {
  const url =
    'https://www.glassdoor.com/Job/new-york-ny-react-native-developer-jobs-SRCH_IL.0,11_IC1132348_KO12,34.htm';
  const html = await crawl(url);
  if (!html) return;

  const data = parseDataFromHTML(html);
  fs.writeFileSync('glassdoor.json', JSON.stringify(data, null, 2));
  fs.writeFileSync('glassdoor.csv', toCsv(data.jobs));
  console.log(`Saved ${data.jobs.length} jobs to JSON and CSV`);
}

main();

Fügen Sie die parseDataFromHTML-Funktion aus Schritt 2 in dieselbe Datei ein, damit main sie aufrufen kann. Führen Sie es mit node scraper.js aus und Sie erhalten zwei Dateien: glassdoor.json mit den vollständigen strukturierten Datensätzen und glassdoor.csv bereit zum Öffnen in einer Tabellenkalkulation. Der toCsv-Helfer zitiert jedes Feld und verdoppelt alle eingebetteten Anführungszeichen, was hier wichtig ist, da Jobtitel und Standorte häufig Kommas enthalten.

Wie die Ausgabe aussieht

Die JSON-Datei enthält die Ergebniszusammenfassung plus ein Objekt je Job, jedes mit Titel, Unternehmen, öffentlicher Bewertung, Standort, Gehaltsschätzung, Veröffentlichungsdatum und Link.

json
{
  "resultInfo": "React Native Developer Jobs in New York, NY",
  "jobs": [
    {
      "title": "React Native Developer",
      "company": "Example Tech Inc",
      "rating": "4.1",
      "location": "New York, NY",
      "salary": "$110K - $140K (Employer est.)",
      "postDate": "30d+",
      "link": "https://www.glassdoor.com/job-listing/react-native-developer"
    },
    {
      "title": "Senior Mobile Engineer",
      "company": "Acme Software",
      "rating": "3.8",
      "location": "Remote",
      "salary": "$130K - $160K (Glassdoor est.)",
      "postDate": "5d",
      "link": "https://www.glassdoor.com/job-listing/senior-mobile-engineer"
    }
  ]
}

Die CSV spiegelt dieselben Job-Zeilen mit einer Header-Zeile wider, sodass sie direkt in Excel, Google Sheets oder jede Datenpipeline fällt, die begrenzte Dateien liest.

csv
title,company,rating,location,salary,postDate,link
"React Native Developer","Example Tech Inc","4.1","New York, NY","$110K - $140K (Employer est.)","30d+","https://www.glassdoor.com/job-listing/react-native-developer"
"Senior Mobile Engineer","Acme Software","3.8","Remote","$130K - $160K (Glassdoor est.)","5d","https://www.glassdoor.com/job-listing/senior-mobile-engineer"

Paginierung verwalten

Eine Suchseite ist eine Demo; ein echter Auftrag zieht jede Seite der Ergebnisse. Glassdoor paginiert seine Such-URLs durch Anhängen eines Seitensegments, sodass Sie über Seitennummern iterieren, jede über die Crawling API abrufen, sie mit derselben Funktion parsen und stoppen können, wenn eine Seite keine Karten zurückgibt. Da jede Ergebnisseite dieselbe Kartenstruktur teilt, funktioniert der bereits geschriebene Parser für alle ohne Änderungen.

javascript
async function scrapeAllPages(baseUrl, maxPages) {
  const allJobs = [];

  for (let page = 1; page <= maxPages; page++) {
    // Glassdoor adds the page number before the .htm extension
    const pageUrl = baseUrl.replace('.htm', `_IP${page}.htm`);
    const html = await crawl(pageUrl);
    if (!html) break;

    const { jobs } = parseDataFromHTML(html);
    if (jobs.length === 0) break; // no more results

    allJobs.push(...jobs);
    console.log(`Page ${page}: ${jobs.length} jobs`);

    // Pace requests so you stay under the rate limit
    await new Promise((r) => setTimeout(r, 2000));
  }

  return allJobs;
}

Der genaue Paginierungs-Token in der URL kann sich ändern, also überprüfen Sie einige echte "Nächste Seite"-Links in Ihrem Browser und gleichen Sie das Muster ab. Die wichtigen Gewohnheiten übertragen sich auf jedes Ziel: Iterieren Sie, bis die Ergebnisse aufhören, und setzen Sie eine kurze Verzögerung zwischen Anfragen, damit Sie die Seite nicht überlasten. Für mehr über gerenderte, JavaScript-schwere Seiten wie diese lesen Sie unseren Leitfaden zum Crawlen von JavaScript-Websites.

Geblockt bleiben verhindern

Auch wenn das Rendering gehandhabt wird, beobachtet Glassdoor scrapertypischen Traffic. Einige Gewohnheiten halten einen Lauf gesund, und sie gelten für jedes schwierige kommerzielle Ziel.

  • Dosieren Sie Ihre Anfragen. Führen Sie eine Verzögerung zwischen Seiten-Abrufen ein statt die Suche in einem engen Loop zu hämmern. Anfragen zu verteilen ist der wichtigste Faktor, um unter Glassdoors Rate-Limits zu bleiben.
  • Setzen Sie auf Rotation. Ein Pool aus Residential-IPs verteilt Anfragen über viele echte Nutzer-Adressen, sodass keine einzelne ein Limit oder ein CAPTCHA auslöst. Die Crawling API erledigt das für Sie; wenn Sie Ihren eigenen Stack aufbauen, ist das der Teil, den Sie richtig machen müssen.
  • Lesen Sie die Statuscodes. Ein Lauf, der Herausforderungen oder Nicht-200-Antworten zurückzugeben beginnt, zeigt Ihnen, dass die aktuelle Rate oder IP-Stufe nicht mehr ausreicht. Behandeln Sie das als Signal zum Zurückrudern, nicht als Rauschen zum Ignorieren.

Das umfassende Playbook finden Sie unter Wie man Websites scraped, ohne geblockt zu werden. Wenn Sie ähnliche Job-Daten von einer anderen Plattform möchten, überträgt sich dasselbe Abruf-und-Parse-Muster direkt auf das Scrapen von Indeed-Stellenausschreibungen und das Scrapen von Monster-Jobs mit Python.

Ob das Scrapen von Glassdoor erlaubt ist, hängt von Glassdoors Nutzungsbedingungen, Ihrer Jurisdiktion und dem Verwendungszweck der Daten ab. Glassdoors Bedingungen schränken den automatisierten Zugriff ein, sodass Scraping unabhängig von der Sorgfalt Ihrer Werkzeuge gegen diese Bedingungen verstoßen kann. Keiner der hier gezeigten Code ändert das; er lässt lediglich den technischen Teil funktionieren. Lesen Sie Glassdoors Nutzungsbedingungen und die robots.txt, respektieren Sie die angegebenen Rate-Erwartungen und behandeln Sie beides als Grenze dessen, was Sie sammeln.

Diese Anleitung ist bewusst auf öffentliche Job- und Unternehmens-Listing-Daten beschränkt: Jobtitel, einstellendes Unternehmen, Standort, Gehaltsschätzung, Veröffentlichungsdatum, Link und die öffentliche Sternebewertung des Unternehmens, die jeder auf einer Suchseite ohne Anmeldung sehen kann. Das unterscheidet sich von den personenbezogenen Daten auf der Plattform. Individuelle Mitarbeiterrezensionen, Gesprächsberichte und die Menschen, die sie geschrieben haben, sind personenbezogene Daten. Behandeln Sie Unternehmensbewertungen als aggregiertes Signal über einen Arbeitgeber, erstellen Sie niemals Profile von individuellen Rezensenten und veröffentlichen Sie nicht die Rezension einer Person verknüpft mit ihrer Identität. Alles hinter einem Login, in großem Maßstab gescraped oder identifizierbare Personen betreffend, fällt unter Datenschutzrecht wie DSGVO und CCPA, und das liegt klar außerhalb des Geltungsbereichs dieser Anleitung.

Wenn Ihr Projekt mehr als öffentliche Listings benötigt, ist der richtige Weg ein sanktionierter, kein ausgefeilterer Scraper. Glassdoor und seine Muttergesellschaft betreiben offizielle Partner- und API-Programme, die Arbeitgeber- und Listing-Daten mit klaren Nutzungsbedingungen, Namensnennung-Regeln und kommerziellen Rechten bereitstellen. Das sind die richtigen Werkzeuge, wenn Sie große Volumina, garantierte Struktur oder das Recht zur kommerziellen Wiederverwendung der Daten benötigen. Wenn Sie unsicher sind, ob eine Nutzung erlaubt ist, holen Sie eine Genehmigung oder eine Datenvereinbarung ein, anstatt anzunehmen, Schweigen sei Zustimmung.

Zusammenfassung

Wichtigste Erkenntnisse

  • Glassdoor rendert Listings clientseitig und blockiert hart. Eine einfache Anfrage gibt eine leere Hülle oder ein CAPTCHA zurück, also müssen Sie die Seite hinter einer vertrauenswürdigen IP mit dem JavaScript-Token rendern, bevor Sie sie parsen.
  • Die Crawling API erledigt beides in einem Aufruf. Sie rendert die Seite in einem echten Browser, rotiert Residential-IPs und behandelt CAPTCHAs und gibt fertiges HTML zurück, das Sie mit Cheerio parsen.
  • Cheerio extrahiert die Felder. Wählen Sie jede .jobCard in der Jobs List aus, lesen Sie dann Titel, Unternehmen, Bewertung, Standort, Gehalt, Veröffentlichungsdatum und Link, und erwarten Sie, dass die generierten Klassennamen abweichen.
  • Paginieren und exportieren. Iterieren Sie über Glassdoors Seitensegmente bis die Ergebnisse aufhören, dosieren Sie Ihre Anfragen und schreiben Sie strukturierte Datensätze in JSON und CSV.
  • Bleiben Sie bei öffentlichen Daten. Sammeln Sie nur öffentliche Job- und Unternehmens-Listings, behandeln Sie individuelle Rezensionen und Rezensenten als personenbezogene Daten, respektieren Sie Nutzungsbedingungen und robots.txt und bevorzugen Sie Glassdoors offizielle API oder das Partnerprogramm für Volumen oder kommerziellen Einsatz.

Häufig gestellte Fragen

Kann ich einen Glassdoor-Scraper in einer anderen Sprache als JavaScript bauen?

Ja. Diese Anleitung verwendet JavaScript mit Cheerio, aber derselbe Ansatz funktioniert in jeder Sprache. Die Crawling API hat Bibliotheken und SDKs für mehrere Sprachen, also rufen Sie das gerenderte HTML auf dieselbe Weise ab und parsen Sie es mit welchem HTML-Parser Ihr Stack bevorzugt, zum Beispiel BeautifulSoup in Python. Die Selektoren und Felder bleiben dieselben; nur die Parsing-Syntax ändert sich.

Warum gibt eine einfache Anfrage unvollständige Daten von Glassdoor zurück?

Weil Glassdoor seine Jobliste clientseitig mit JavaScript rendert und automatisierten Traffic mit CAPTCHAs herausfordert. Eine rohe HTTP-Anfrage von einer Datacenter-IP gibt in der Regel eine leere Hülle oder eine Blockierseite statt der Job-Karten zurück. Um eine vollständige Seite zu erhalten, müssen Sie sie hinter einer vertrauenswürdigen IP rendern, was die Crawling API für Sie erledigt, wenn Sie den JavaScript-Token verwenden.

Meine Selektoren geben leere Werte zurück. Was hat sich geändert?

Mit ziemlicher Sicherheit Glassdoors Markup. Seine generierten Klassennamen wie JobCard_seoLink__WdqHZ ändern sich ohne Vorankündigung, sodass Selektoren, die letzten Monat funktionierten, jetzt brechen können. Inspizieren Sie eine Live-Seite in den Entwicklertools Ihres Browsers, aktualisieren Sie die Selektoren in parseDataFromHTML, und Sie sind wieder einsatzbereit. Regelmäßige Selektor-Wartung ist bei jedem Produktions-Scraper normal.

Werde ich beim Scrapen von Glassdoor geblockt?

Das können Sie, wenn Sie zu viele Anfragen zu schnell von einer Adresse senden. Die Crawling API reduziert dieses Risiko durch die Rotation über Residential-IPs und die Behandlung von CAPTCHAs, aber Sie sollten trotzdem Ihre Anfragen dosieren, Verzögerungen zwischen Seiten einführen und die Statuscodes beobachten, um zurücktreten zu können, wenn Herausforderungen auftreten. Diese Gewohnheiten sind bei jedem schwierigen kommerziellen Ziel wichtig.

Kann ich individuelle Mitarbeiterrezensionen und Rezensenten-Namen scrapen?

Das liegt außerhalb des Geltungsbereichs dieser Anleitung, und aus gutem Grund. Individuelle Rezensionen und die Menschen, die sie geschrieben haben, sind personenbezogene Daten, die Datenschutzrecht wie DSGVO und CCPA berühren. Verwenden Sie die öffentliche Unternehmensbewertung als aggregiertes Signal über einen Arbeitgeber, erstellen Sie keine Profile von individuellen Rezensenten und veröffentlichen Sie nicht die Rezension einer Person verknüpft mit ihrer Identität. Für alles über öffentliche Listings hinaus nutzen Sie Glassdoors offizielle API oder das Partnerprogramm.

Hat Glassdoor eine offizielle API?

Glassdoor und seine Muttergesellschaft betreiben offizielle Partner- und API-Programme, die Arbeitgeber- und Listing-Daten unter klaren Bedingungen bereitstellen, mit Namensnennung-Regeln und definierten kommerziellen Rechten. Wenn Sie große Volumina, garantierte Struktur oder das Recht zur kommerziellen Wiederverwendung der Daten benötigen, ist dieser sanktionierte Weg der richtige. Dieser Scraper für öffentliche Daten eignet sich am besten für Recherche, Prototyping und kleinere Analysen, bei denen eine offizielle Vereinbarung nicht gerechtfertigt ist.

Jetzt loslegen

Crawlen Sie jede Website im großen Maßstab, ohne gegen die Infrastruktur zu kämpfen.

Crawlbase übernimmt Proxys, Fingerprints und CAPTCHAs, damit Ihr Team Datenpipelines ausliefert, statt Crawl-Infrastruktur zu pflegen. 1.000 Anfragen kostenlos, keine Karte erforderlich.

Self-Service · Kein Verkaufsgespräch erforderlich · Enterprise-Crawl-Volumen verfügbar