Forbes ist eine der größten Wirtschafts- und Finanznachrichtenwebsites im offenen Web, die Branchen, Unternehmen, Märkte und die Menschen dahinter abdeckt. Der öffentliche Bereich und die Themenseiten bieten viel strukturiertes Signal: Artikelüberschriften, wer sie geschrieben hat, wann sie veröffentlicht wurden und unter welchem Thema jeder steht. Analysten beobachten diese Einträge, um zu verfolgen, worüber eine Branche spricht, Content-Teams nutzen sie, um Berichterstattung und Trends zu kartieren, und Forscher indizieren Überschriften, um eine Geschichte im Zeitverlauf zu verfolgen. All diese Metadaten befinden sich auf der öffentlichen Eintragsseite in einem vorhersehbaren Layout, bevor Sie überhaupt einen Artikel öffnen.

Dieser Leitfaden zeigt Ihnen, wie Sie Forbes-Daten scrapen mit JavaScript und Node.js unter Verwendung von Cheerio. Sie bauen einen kleinen, lauffähigen Scraper, der eine öffentliche Forbes-Themen- oder Sektionsseite über die Crawling API abruft, die Überschrift, die Autorenzeile, den Artikel-Link, das Veröffentlichungsdatum und den Bereich für jede Geschichte parst, Paginierung verarbeitet und das Ergebnis als JSON und CSV exportiert. Die gesamte Anleitung bleibt auf öffentliche Eintragsmetadaten beschränkt: nur Überschriften und Links, niemals den vollständigen Artikeltext oder Medien. Der Abschnitt zur Rechtslage am Ende ist kein Boilerplate, da Forbes-Inhalte urheberrechtlich geschützt sind. Lesen Sie ihn, bevor Sie das auf ein echtes Datenvolumen ansetzen.

Was Sie bauen werden

Ein Node.js-Skript, das eine öffentliche Forbes-Sections- oder Themen-URL entgegennimmt, das gerenderte HTML über die Crawling API abruft und für jede Artikelkarte auf der Eintragsseite einen strukturierten Datensatz extrahiert. Als laufendes Beispiel verwenden wir einen Technologiebereich und ziehen folgende Felder pro Geschichte:

  • Überschrift der auf der Eintrags-Karte angezeigte Artikeltitel.
  • Autor die Autorenzeile, der auf der Karte genannte Mitarbeiter oder Redakteur.
  • Link die öffentliche URL zum einzelnen Artikel.
  • Veröffentlichungsdatum das Datum oder die relative Zeit, die die Karte für die Geschichte anzeigt.
  • Bereich das Thema oder der Kanal, zu dem die Karte gehört, zum Beispiel Technologie oder Wirtschaft.

Beachten Sie, was bewusst fehlt: der Artikelkörper, Bilder und andere Medien. Dieser Scraper sammelt Links und Metadaten, damit Sie Berichterstattung indizieren und verfolgen können, nicht den urheberrechtlich geschützten Inhalt selbst.

Warum eine einfache Anfrage bei Forbes scheitert

Wenn Sie eine Forbes-Sections-URL mit einem einfachen HTTP-Client abrufen, erhalten Sie selten die Artikelkarten zurück. Zwei Faktoren arbeiten gegen Sie. Erstens lädt Forbes einen Großteil seiner Eintragsinhalt im Browser per JavaScript, sodass das initiale HTML eine fast leere Hülle ist, bis die Skripte der Seite ausgeführt werden. Zweitens erkennt Forbes automatisierten Traffic: Datacenter-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, werden ratenbegrenzt, herausgefordert oder blockiert, bevor sie jemals die gerenderten Einträge erreichen.

Ein funktionierender Forbes-Scraper benötigt also zwei Dinge in einer Anfrage: einen Browser, der die Seite tatsächlich rendert, und eine IP, die die Website als echten Besucher einliest. Sie können das selbst mit einem Headless-Browser plus einem Pool von rotierenden Residential Proxies zusammenbauen, aber diese Infrastruktur zusammenzuhalten und funktionstüchtig zu halten ist der Großteil der Arbeit. Die Crawling API bündelt beides in einem einzigen Aufruf: Sie senden ihr die URL, sie rendert die Seite hinter einer vertrauenswürdigen IP und gibt fertiges HTML zurück, das Sie mit Cheerio parsen können.

Das JavaScript-Token verwenden

Die Crawling API gibt Ihnen zwei Token: ein normales und ein JavaScript-Token. Forbes benötigt die Seite in einem echten Browser gerendert, verwenden Sie daher Ihr JavaScript-Token für jede Anfrage in diesem Leitfaden. Das normale Token gibt die nicht gerenderte Hülle zurück und Ihre Selektoren kommen leer zurück.

Voraussetzungen

Sie benötigen ein paar Dinge, bevor Sie mit dem Programmieren beginnen. Nichts davon dauert lange.

Grundlegende JavaScript- und Node.js-Kenntnisse. Sie sollten in der Lage sein, ein Node-Skript zu schreiben und auszuführen sowie Pakete mit npm zu installieren. Wenn Sie neu bei Node sind, deckt unser Leitfaden zum Aufbau eines Web-Scrapers mit Node.js die Grundlagen ab, die dieses Tutorial voraussetzt.

Node.js 16 oder neuer. Überprüfen Sie Ihre Version mit node --version. Falls Sie es nicht haben, installieren Sie es von der Node.js-Website oder über einen Versionsmanager wie nvm.

Ein Crawlbase-Konto und ein Token. Registrieren Sie sich, öffnen Sie Ihr Dashboard und kopieren Sie Ihr JavaScript-Token. Das kostenlose Kontingent gibt Ihnen bis zu 20.000 Anfragen ohne Karte, und Sie zahlen nur für erfolgreiche Anfragen. Behandeln Sie das Token wie ein Passwort: Es authentifiziert Ihre Anfragen, halten Sie es also aus der Versionskontrolle heraus.

Projekt einrichten

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

bash
node --version

mkdir forbes-scraper && cd forbes-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 analysiert das zurückgegebene HTML mit einer jQuery-ähnlichen API, sodass Sie einzelne Felder per CSS-Selektor extrahieren 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 Eintragsseite abrufen

Beginnen Sie damit, die fertige Seite zu laden. Importieren Sie die CrawlingAPI-Klasse, initialisieren Sie sie mit Ihrem JavaScript-Token und fordern Sie eine öffentliche Forbes-Sections-URL an. Forbes lädt Karten beim Scrollen nach, daher teilt die Übergabe von ajax_wait und einem kurzen page_wait der API mit, vor der Rückgabe auf den dynamischen Inhalt zu warten. Den Statuscode zu prüfen, bevor Sie parsen, sorgt dafür, dass Fehler laut statt still auftreten.

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

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

const forbesPageURL = 'https://www.forbes.com/technology/';

api
  .get(forbesPageURL, { ajax_wait: 'true', page_wait: '5000' })
  .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 Forbes-Eintrags-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 das von Ihnen bereitgestellte JavaScript-Token, um die Seite in einem echten Browser zu rendern, und ajax_wait mit page_wait geben den lazy-geladenen Karten Zeit zum Befüllen, sodass die Artikel-Links im zurückgegebenen HTML vorhanden sind.

Crawlbase Crawling API

Diese erste Anfrage hat gerade eine vollständig gerenderte Forbes-Sektionsseite 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 verarbeitet die Ratenlimits und Herausforderungen, die Forbes an Scraper stellt, sodass Sie fertiges HTML aus einem Aufruf erhalten. Testen Sie es zunächst auf einer öffentlichen Sektion im kostenlosen Kontingent, dann fügen Sie Ihren Parser hinzu.

Schritt 2: Jede Artikelkarte mit Cheerio parsen

Mit gerendered HTML in der Hand laden Sie es in Cheerio und durchlaufen die Artikelkarten. Forbes listet jede Geschichte in einem Stream-Element auf, und der Überschriften-Link ist dieselbe Art von a.color-link-Anker, den die Website in ihren Einträgen durchgehend verwendet, sodass Sie jeden Artikel-Link auswählen und dann Überschrift, Autorenzeile, Veröffentlichungsdatum und Bereich aus dem Inneren jeder Karte auslesen. Jedes Feld defensiv zu lesen verhindert, dass ein einzelner fehlender Wert den gesamten Lauf zum Absturz bringt.

javascript
const cheerio = require('cheerio');

function parseForbesData(html, section) {
  const $ = cheerio.load(html);
  const articles = [];
  const seen = new Set();

  // One record per article card in the listing stream
  $('article.stream-item').each((_, element) => {
    const card = $(element);

    const titleLink = card.find('a.color-link').first();
    const headline = titleLink.text().trim();
    let link = titleLink.attr('href') || '';
    if (link && link.startsWith('/')) {
      link = new URL(link, 'https://www.forbes.com').href;
    }

    const author = card.find('.stream-item__author').text().trim();
    const date = card.find('.stream-item__date').text().trim();

    // Skip empty cards and de-duplicate repeated links
    if (!headline || !link || seen.has(link)) return;
    seen.add(link);

    articles.push({
      headline,
      author: author || 'N/A',
      date: date || 'N/A',
      section: section || 'N/A',
      link,
    });
  });

  return articles;
}

Ein paar Details halten dies nah an der Seite. Jede Geschichte lebt in einem article.stream-item, und der Überschriften-Link ist der a.color-link-Anker darin, derselbe Link-Klasse, den die alten Forbes-Einträge verwenden. Der Autor kommt aus .stream-item__author und das Veröffentlichungsdatum aus .stream-item__date. Der Link wird aus dem href des Ankers gelesen und zu einer absoluten URL aufgelöst, sodass er außerhalb der Seite funktioniert, und ein Set entfernt die duplizierten Links, die ein Eintrags-Stream oft wiederholt. Der Bereich wird vom Aufrufer übergeben, da Sie bereits wissen, welche Kanal-URL Sie angefordert haben.

Selektoren verändern sich

Forbes liefert regelmäßig Markup-Änderungen, sodass die obigen Klassennamen ein Ausgangspunkt sind, kein Vertrag. Wenn ein Feld leer zurückkommt, überprüfen Sie die Live-Seite in den Entwicklertools Ihres Browsers und aktualisieren Sie den Selektor. Regelmäßige Selektor-Wartung ist für jeden Produktions-Scraper normal, kein Zeichen dafür, dass etwas kaputt ist.

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

Verbinden Sie nun den Abruf und das Parsing in einem lauffähigen Skript, dann schreiben Sie die Datensätze als JSON und CSV auf die Festplatte.

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, { ajax_wait: 'true', page_wait: '5000' });
  if (response.statusCode === 200) return response.body;
  console.error(`Request failed: ${response.statusCode}`);
  return null;
}

function toCsv(rows) {
  const headers = ['headline', 'author', 'date', 'section', '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 section = 'technology';
  const url = `https://www.forbes.com/${section}/`;
  const html = await crawl(url);
  if (!html) return;

  const articles = parseForbesData(html, section);
  fs.writeFileSync('forbes.json', JSON.stringify(articles, null, 2));
  fs.writeFileSync('forbes.csv', toCsv(articles));
  console.log(`Saved ${articles.length} articles to JSON and CSV`);
}

main();

Fügen Sie die parseForbesData-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: forbes.json mit den vollständigen strukturierten Datensätzen und forbes.csv, die in einer Tabellenkalkulation geöffnet werden kann. Der toCsv-Helfer setzt jedes Feld in Anführungszeichen und verdoppelt eingebettete Anführungszeichen, was hier wichtig ist, da Überschriften häufig Kommas enthalten.

Wie die Ausgabe aussieht

Die JSON-Datei enthält ein Objekt pro Artikel, jeweils mit der Überschrift, der Autorenzeile, dem Veröffentlichungsdatum, dem Bereich und dem Link. Die untenstehenden Werte sind illustrative Platzhalter, keine Live-Forbes-Daten.

json
[
  {
    "headline": "How AI Startups Are Reshaping Enterprise Software",
    "author": "Jane Doe",
    "date": "Jun 10, 2026",
    "section": "technology",
    "link": "https://www.forbes.com/sites/example/2026/06/10/ai-startups-enterprise/"
  },
  {
    "headline": "The Quiet Rise Of Mid-Market Cloud Providers",
    "author": "John Smith",
    "date": "Jun 9, 2026",
    "section": "technology",
    "link": "https://www.forbes.com/sites/example/2026/06/09/mid-market-cloud/"
  }
]

Die CSV spiegelt dieselben Zeilen mit einer Kopfzeile wider, sodass sie direkt in Excel, Google Sheets oder jede Datenpipeline, die durch Trennzeichen getrennte Dateien liest, eingefügt werden kann.

csv
headline,author,date,section,link
"How AI Startups Are Reshaping Enterprise Software","Jane Doe","Jun 10, 2026","technology","https://www.forbes.com/sites/example/2026/06/10/ai-startups-enterprise/"
"The Quiet Rise Of Mid-Market Cloud Providers","John Smith","Jun 9, 2026","technology","https://www.forbes.com/sites/example/2026/06/09/mid-market-cloud/"

Paginierung verarbeiten

Eine Sektionsseite ist eine Demo; ein echter Auftrag holt mehr als die ersten Überschriften. Forbes-Sektionsseiten stellen weitere Ergebnisse über einen Seitenabfrageparameter bereit, sodass Sie über Seitenzahlen iterieren, jede über die Crawling API abrufen, mit der gleichen Funktion parsen und stoppen können, wenn eine Seite keine neuen Artikel zurückgibt. Da jede Eintragsseite dieselbe Kartenstruktur hat, funktioniert der bereits geschriebene Parser ohne Änderungen auf allen Seiten.

javascript
async function scrapeAllPages(section, maxPages) {
  const all = [];
  const seen = new Set();

  for (let page = 1; page <= maxPages; page++) {
    const url = `https://www.forbes.com/${section}/?page=${page}`;
    const html = await crawl(url);
    if (!html) break;

    const batch = parseForbesData(html, section)
      .filter((a) => !seen.has(a.link));
    if (batch.length === 0) break; // no new articles

    batch.forEach((a) => seen.add(a.link));
    all.push(...batch);
    console.log(`Page ${page}: ${batch.length} new articles`);

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

  return all;
}

Der genaue Paginierungsparameter kann sich ändern, überprüfen Sie daher ein paar echte "nächste Seite"-Links in Ihrem Browser und passen Sie das Muster an. Die wichtigen Gewohnheiten übertragen sich auf jedes Ziel: Iterieren Sie, bis die Ergebnisse versiegen, de-duplizieren Sie nach Link, damit Sie dieselbe Überschrift nicht zweimal speichern, und legen Sie eine kurze Verzögerung zwischen Anfragen ein, um die Website nicht zu überlasten. Mehr zu gerenderten, JavaScript-lastigen Seiten wie dieser finden Sie in unserem Leitfaden zum Crawlen von JavaScript-Websites.

Nicht geblockt werden

Auch wenn das Rendering erledigt ist, beobachtet Forbes scraperartigen Traffic. Ein paar Gewohnheiten halten einen Lauf gesund, und sie gelten für jedes schwierige kommerzielle Ziel.

  • Anfragen verlangsamen. Führen Sie eine Verzögerung zwischen Seiten-Abrufen ein, statt die Sektion in einer engen Schleife zu bombardieren. Anfragen zu verteilen ist der wichtigste Einzelfaktor, um unter Forbes' Ratenlimits zu bleiben.
  • Auf Rotation setzen. Ein Pool von Residential IPs verteilt Anfragen auf viele echte Nutzeradressen, sodass keine einzelne ein Limit oder eine Herausforderung auslöst. Die Crawling API übernimmt das für Sie; wenn Sie Ihren eigenen Stack betreiben, ist das der Teil, den Sie richtig hinbekommen müssen.
  • Statuscodes lesen. Ein Lauf, der beginnt, Herausforderungen oder Nicht-200-Antworten zurückzugeben, signalisiert Ihnen, dass die aktuelle Rate oder IP-Stufe nicht mehr ausreicht. Behandeln Sie das als Signal zum Zurückrudern, nicht als Lärm, den Sie ignorieren können.

Für das umfassendere Playbook lesen Sie, wie Sie Websites scrapen, ohne geblockt zu werden. Wenn Sie ähnliche Überschriften-Metadaten von anderen Nachrichtenquellen möchten, überträgt sich das gleiche Fetch-dann-Parse-Muster direkt auf das Scrapen von Google News.

Ob das Scrapen von Forbes erlaubt ist, hängt von Forbes' Nutzungsbedingungen, Ihrer Rechtsordnung und dem ab, was Sie mit den Daten machen. Forbes' Bedingungen schränken automatisierten Zugriff und die Wiederverwendung von Inhalten ein, sodass Scraping gegen diese Bedingungen verstoßen kann, unabhängig davon, wie sorgfältig Ihr Tooling ist. Kein Code hier ändert das; er lässt nur den technischen Teil funktionieren. Lesen Sie Forbes' Nutzungsbedingungen und die robots.txt, respektieren Sie alle dort angegebenen Ratenerwartungen und behandeln Sie beides als Grenze für das, was Sie sammeln. Scrapen Sie niemals irgendetwas hinter einem Login oder einer Paywall: Hinter Bezahlschranken und für Abonnenten reservierte Artikel sind tabu, und das Umgehen von Zugriffskontrollen, um sie zu erreichen, ist eine separate und schwerwiegendere Grenze.

Dieser Leitfaden ist bewusst auf öffentliche Eintragsmetadaten beschränkt: die Überschrift, die Autorenzeile, den öffentlichen Artikel-Link, das Veröffentlichungsdatum und den Bereich, die jeder auf einer Sektionsseite ohne Konto sehen kann. Entscheidend ist, dass der Artikel-Körper, Fotos, Grafiken oder Videos nicht gesammelt werden. Forbes-Artikel und -Medien sind urheberrechtlich geschützte Werke, und das Kopieren oder Weiterveröffentlichen von vollständigem Text oder Medien ist eine Urheberrechtsverletzung, kein faires Scraping. Das Sammeln von Überschriften und Links zum Indizieren, Überwachen oder Zurückverweisen auf das Original ist sehr unterschiedlich vom Reproduzieren des Inhalts selbst. Halten Sie Ihre gespeicherten Daten bei Fakten und Pointern, nennen und verlinken Sie die Quelle, und präsentieren Sie Forbes' redaktionelle Arbeit nicht als Ihre eigene oder hinter Ihrer eigenen Wand.

Wenn Ihr Projekt mehr als öffentliche Überschriften und Links benötigt, ist der richtige Weg ein sanktonierter, kein clevererer Scraper. Forbes bietet offizielle Feeds sowie Lizenz- und Syndizierungsvereinbarungen für die Wiederverwendung von Inhalten mit klaren Bedingungen, Zuschreibungsregeln und kommerziellen Rechten an. Das sind die richtigen Werkzeuge, wenn Sie Volltext, große Mengen, garantierte Struktur oder das Recht zur Weiterveröffentlichung benötigen. Wenn Sie unsicher sind, ob eine Nutzung erlaubt ist, holen Sie sich eine Lizenz oder eine Datenvereinbarung, statt anzunehmen, dass Schweigen Zustimmung bedeutet.

Zusammenfassung

Wichtigste Erkenntnisse

  • Forbes rendert Einträge clientseitig und schützt seinen Traffic. Eine einfache Anfrage gibt eine leere Hülle oder eine Herausforderung zurück, daher 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 wartet auf die lazy-geladenen Karten, gibt fertiges HTML zurück, das Sie mit Cheerio parsen.
  • Cheerio extrahiert die Metadaten. Wählen Sie jedes article.stream-item aus, lesen Sie Überschrift und Link aus dem a.color-link-Anker sowie Autor, Datum und Bereich, und rechnen Sie damit, dass die Klassennamen sich verändern.
  • Paginieren und exportieren. Iterieren Sie über Forbes' Sektionsseiten bis keine neuen Artikel erscheinen, de-duplizieren Sie nach Link, verlangsamen Sie Ihre Anfragen und schreiben Sie strukturierte Datensätze sowohl in JSON als auch CSV.
  • Auf öffentlichen Metadaten bleiben und Urheberrecht respektieren. Sammeln Sie nur Überschriften, Links, Autorenzeilen und Daten, niemals den Artikel-Körper oder Medien, respektieren Sie AGB, robots.txt und Paywall, und bevorzugen Sie Forbes' offizielle Feeds oder Lizenzierung für die Wiederverwendung.

Häufig gestellte Fragen

Kann ich Daten von Forbes extrahieren?

Sie können öffentliche Eintragsmetadaten wie Überschriften, Artikel-Links, Autorenzeilen und Veröffentlichungsdaten sammeln, solange Sie Forbes' Nutzungsbedingungen und robots.txt respektieren und den vollständigen Artikeltext oder Medien nicht kopieren. Beschränken Sie die Sammlung auf öffentliche Seiten, niemals auf etwas hinter einem Login oder einer Paywall, und bevorzugen Sie Forbes' offizielle Feeds oder eine Lizenzvereinbarung, wenn Sie Inhalte wiederverwenden müssen. Dieser Leitfaden bleibt innerhalb dieser Grenzen, indem er nur Überschriften und Links, nicht Artikel-Körper speichert.

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

Weil Forbes einen Großteil seiner Eintragsinhalt clientseitig mit JavaScript lädt und automatisierten Traffic herausfordert. Eine rohe HTTP-Anfrage von einer Datacenter-IP gibt normalerweise eine leere Hülle oder eine Blockseite statt der Artikelkarten 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 übernimmt, wenn Sie das JavaScript-Token zusammen mit ajax_wait und page_wait verwenden.

Warum die Crawling API statt Puppeteer selbst betreiben?

Ein Headless-Browser wie Puppeteer kann Forbes rendern, aber dann müssen Sie den Browser-Pool betreiben und warten, einen rotierenden Residential-Proxy-Pool anhängen und Herausforderungen selbst verarbeiten, was den Großteil der Arbeit ausmacht und bei Volumen langsam wird. Die Crawling API bündelt Rendering, IP-Rotation und Herausforderungsverarbeitung in einem Aufruf, sodass Sie eine URL senden und fertiges HTML zurückbekommen. Sie verbringen Ihre Zeit mit dem Parsen, nicht damit, die Infrastruktur am Laufen zu halten.

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

Höchstwahrscheinlich Forbes' Markup. Klassennamen wie stream-item__author und die a.color-link-Überschriftenanker ändern sich im Laufe der Zeit, sodass Selektoren, die letzten Monat funktionierten, jetzt brechen können. Überprüfen Sie eine Live-Seite in den Entwicklertools Ihres Browsers, aktualisieren Sie die Selektoren in parseForbesData, und Sie sind wieder einsatzbereit. Regelmäßige Selektor-Wartung ist für jeden Produktions-Scraper normal.

Kann ich den vollständigen Text von Forbes-Artikeln scrapen?

Nein, und Sie sollten es nicht. Forbes-Artikel und -Medien sind urheberrechtlich geschützt, sodass das Kopieren und Weiterveröffentlichen des Textkörpers, der Bilder oder Videos eine Urheberrechtsverletzung und kein faires Scraping ist. Dieser Leitfaden sammelt nur die öffentliche Überschrift, den Link, die Autorenzeile, das Datum und den Bereich, damit Sie das Original indizieren und darauf zurückverweisen können. Wenn Sie vollständige Inhalte benötigen, verwenden Sie Forbes' offizielle Feeds oder eine Lizenz- und Syndizierungsvereinbarung, die die Wiederverwendungsrechte gewährt, die ein Scraper nie kann.

Werde ich beim Scrapen von Forbes geblockt?

Das können Sie, wenn Sie zu viele Anfragen zu schnell von einer Adresse senden. Die Crawling API reduziert dieses Risiko, indem sie durch Residential IPs rotiert und Herausforderungen für Sie verarbeitet, aber Sie sollten trotzdem Ihre Anfragen verlangsamen, Verzögerungen zwischen Seiten hinzufügen und die Statuscodes beobachten, damit Sie zurückrudern können, wenn Herausforderungen erscheinen. Diese Gewohnheiten sind bei jedem schwierigen kommerziellen Ziel wichtig.

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