Forbes ist eine Wirtschafts- und Finanznachrichtenseite mit tollen Informationen zu Branchen, Unternehmen und Personen auf der ganzen Welt. Forbes wird jeden Monat von Millionen Menschen besucht. Sie bietet Milliardärs-Rankings, Geschäftstrends und Analysen. Forbes verwendet JavaScript, um seine Inhalte dynamisch zu laden, daher ist das Scraping mit herkömmlichen Tools etwas schwierig.

Dieses Tutorial zeigt Ihnen, wie Sie Forbes-Daten scrapen mit Puppenspieler, ein Headless-Browser. Sobald Sie die Grundlagen verstanden haben, erklären wir Ihnen, wie Sie den Crawlbase Crawling API um Ihre Datenextraktion zu optimieren. Mit diesen Tools können Sie Forbes-Daten für Forschung, Analyse oder persönliche Projekte sammeln.

Hier ist eine kurze Anleitung, wie man Forbes nach Milliardärsrankings durchsucht:

Inhaltsverzeichnis

  1. Warum Daten von Forbes scrapen?
  2. Wichtige Datenpunkte zum Scrapen von Forbes
  3. Einrichten Ihrer Scraping-Umgebung
  • Puppeteer installieren
  • Einrichten Ihres Projekts
  • Erforderliche Bibliotheken installieren
  1. Forbes mit Puppeteer scrapen
  • Überprüfen der HTML-Struktur
  • Den Puppenspieler-Schaber schreiben
  • Speichern von Daten in einer JSON-Datei
  1. Optimieren Sie Forbes Scraping mit Crawlbase Crawling API
  • Einführung in Crawlbase Crawling API
  • So verwenden Sie Crawlbase mit Forbes
  • Codebeispiel mit Crawlbase
  1. Abschließende Überlegungen
  2. Häufig gestellte Fragen

Warum Daten von Forbes scrapen?

Es lässt sich nicht leugnen, dass Forbes eine Fülle von Informationen zu Wirtschaft, Finanzen und Lebensstil bietet. Durch das Scraping von Forbes-Daten können Sie verschiedene Aspekte verfolgen, beispielsweise die aktuellsten Geschäftstrends oder die Analyse des Vermögens der Milliardäre. Hier sind einige wichtige Gründe, Daten von Forbes zu scrapen:

Warum Daten von Forbes scrapen?
  1. Milliardärs-Rangliste: Forbes ist ein Name, den jeder mit seinen weltweiten Milliardärsrankings kennt. Diese Daten können ausgelesen werden, um zu sehen, wie sich der Wohlstand im Laufe der Zeit entwickelt hat.
  2. Firmeninformation: Um zu sehen, wie es einem Unternehmen geht, bietet Forbes die besten Unternehmensprofile.
  3. Industry Insights: Forbes bietet Artikel zu verschiedenen Sektoren, darunter Technologie, Finanzen, Gesundheitswesen und mehr. Scrapen Sie Daten, um bestimmte Branchen und Trends zu verfolgen.
  4. Finanznachrichten: Forbes veröffentlicht Nachrichten und Updates zur Weltwirtschaft und den Märkten in Echtzeit. Nutzen Sie diese Daten, um wichtige Finanzereignisse im Auge zu behalten.

Wichtige Datenpunkte zum Scrapen von Forbes

Beim Scraping von Forbes möchten Sie möglicherweise viele Datenpunkte extrahieren. Einige der wesentlichen Datenpunkte, die Sie sich ansehen müssen, sind:

Wichtige Datenpunkte von Forbes
  1. Milliardärsprofile: Forbes bietet ausführliche Biografien der reichsten Menschen der Welt. Diese Profile enthalten Angaben zu Vermögensquelle, Branche, Nettovermögen und Herkunftsland.
  2. Firmenprofile: Forbes bietet umfassende Daten zu Unternehmen, wie Umsatz, Mitarbeiterzahl und Branche. Verwenden Sie diese Daten, um Unternehmen zu vergleichen oder bestimmte Branchen im Laufe der Zeit im Auge zu behalten.
  3. Top-Listen: Forbes ist bekannt für seine „Top“-Listen, die die 100 reichsten Milliardäre, die größten multinationalen Konzerne und die größten Start-ups umfassen.
  4. Artikel und News: Forbes bietet aktuelle Nachrichten und ausführliche Artikel zu den Themen Wirtschaft, Finanzen und Lifestyle. Um über die neuesten Nachrichten, Trends und Expertenmeinungen aus der Branche auf dem Laufenden zu bleiben, durchsuchen Sie die Forbes-Artikel.
  5. Marktdaten: Finanzinformationen wie Aktienkurse, Markttrends und Wirtschaftsprognosen sind auf der Website verfügbar. Um den Überblick über die Finanzmärkte zu behalten und Echtzeiteinblicke zu erhalten, nutzen Sie die Marktdaten von Forbes.

Einrichten Ihrer Scraping-Umgebung

Um Forbes-Daten zu scrapen, müssen wir eine Projektumgebung einrichten. Wir müssen Node.js, Puppeteer und andere erforderliche Bibliotheken installieren. Befolgen Sie die folgenden Schritte.

Puppeteer installieren

Puppeteer ist eine Node.js-Bibliothek, die eine hochrangige API zur Steuerung von Chrome oder Chromium bereitstellt und sich perfekt zum Scraping dynamischer Inhalte wie Forbes eignet. Um Puppeteer zu installieren, folgen Sie diesen Schritten:

  1. Stellen Sie sicher, dass Node.js auf Ihrem System installiert ist. Sie können es hier herunterladen: Offizielle Website von Node.j..
  2. Sobald Sie Node.js haben, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um Puppeteer zu installieren:
1
npm Puppenspieler installieren

Dieser Befehl installiert Puppeteer zusammen mit Chromium, das Puppeteer zum Ausführen eines Headless-Browsers zum Scraping von Websites verwendet.

Einrichten Ihres Projekts

Puppeteer ist installiert. Richten Sie nun Ihren Projektordner ein und initialisieren Sie Node.js. Folgen Sie diesen Schritten:

  1. Erstellen Sie ein neues Verzeichnis für Ihr Projekt:
1
2
mkdir Forbes-Schaber
cd Forbes-Schaber
  1. Initialisieren Sie ein neues Node.js-Projekt, indem Sie den folgenden Befehl ausführen:
1
npm init -y

Dieser Befehl erstellt eine package.json Datei, die Ihre Projektabhängigkeiten verwaltet.

Damit ist die Einrichtung Ihrer Forbes-Scraping-Umgebung abgeschlossen. Als Nächstes beginnen wir mit dem Schreiben des Puppeteer-Scrapers.

Forbes mit Puppeteer scrapen

Nachdem wir unsere Umgebung eingerichtet haben, beginnen wir mit dem Scraping von Forbes mit Puppeteer. In diesem Abschnitt untersuchen wir das HTML, schreiben den Scraper, verarbeiten dynamische Inhalte und speichern die Scraping-Daten in einer JSON-Datei. Für dieses Beispiel scrapen wir die Forbes-Liste der weltweit größten Milliardäre 2024.

Überprüfen der HTML-Struktur

Bevor wir den Scraper schreiben, untersuchen wir das HTML der Forbes-Website. Dies hilft uns dabei, die Schlüsselelemente zu identifizieren, die die Daten enthalten.

Überprüfung der Seite mit der Milliardärsliste

  1. Besuchen Sie die Seite: Gehen Sie zur Forbes-Liste der weltweit größten Milliardäre.
  2. Öffnen Sie die Entwicklertools: Klicken Sie mit der rechten Maustaste irgendwo auf die Seite und wählen Sie „Untersuchen“ oder drücken Sie Ctrl+Shift+I um die Entwicklertools zu öffnen.
Forbes-Seite mit der Liste der Milliardäre
  1. Suchen Sie nach Schlüsselelementen:
  • Namen/Links von Milliardären: Normalerweise enthalten in <a> Tags mit Klassen wie color-link. Hier erhalten Sie den Link zum Profil jedes Milliardärs.

Das Profil jedes Milliardärs auswerten

  1. Zu einem Profil navigieren: Klicken Sie auf einen Link in der Liste, um die Profilseite des Milliardärs zu öffnen.
  2. Öffnen Sie die Entwicklertools: Klicken Sie mit der rechten Maustaste irgendwo auf die Seite und wählen Sie „Untersuchen“ oder drücken Sie Ctrl+Shift+I um die Entwicklertools zu öffnen.
Forbes-Milliardärsprofilseite
  1. Wichtige Elemente, auf die Sie achten sollten:
  • Rang: Suchen Sie nach dem Rang, normalerweise innerhalb eines <div> or <span> mit einer Klasse wie listuser-item__list--rank.
  • Name: Normalerweise innerhalb eines Header-Tags, wie <h1> mit einer Klasse wie listuser-header__name.
  • Organisation: Gefunden in einem <a> or <span> Element mit organisationsbezogenen Klassen.
  • Net Worth: Normalerweise innerhalb eines <div> mit Klassen wie profile-info__item-value.
  • Biografie: Oft in einer ungeordneten Liste zu finden (<ul>)-Element.
  • Zusätzliche Daten: Titel und Texte finden sich in Elementen mit Klassen wie profile-stats__title und profile-stats__text.

Den Puppenspieler-Schaber schreiben

Jetzt können wir den Puppeteer-Scraper schreiben. Der folgende Code zeigt, wie man Puppeteer startet, die Forbes-Seite öffnet und wichtige Datenpunkte scrapt.

Beispielcode:

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const Puppenspieler = erfordern('Puppenspieler');
const fs = erfordern('fs');

async Funktion scrapeBillionaires() {
const Browser = – warten auf Sie! Puppenspieler.starten({ kopflos: was immer dies auch sein sollte. });
const Seite = – warten auf Sie! Browser.neue Seite();

// Zur Forbes-Milliardärsliste
– warten auf Sie! goto(
'https://www.forbes.com/sites/chasewithorn/2024/04/02/forbes-worlds-billionaires-list-2024-the-top-200/?sh=67b3016430a7',
{
Timeout: 0,
},
);

const Links = – warten auf Sie! Seite.$$eval(„ein.Farblink“, (Links) => Links.Scheibe(2).Karte((Link) => Link.href));
const Milliardärsliste = [];

für (lassen Link of Links) {
versuchen {
– warten auf Sie! goto(Link, { Timeout: 0 });

// Rang abrufen
const Rang = – warten auf Sie! Seite.$eval(„.listuser-item__list--rank“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Namen abrufen
const Name = – warten auf Sie! Seite.$eval(„h1.listuser-header__name“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Titel abrufen
const Titel = – warten auf Sie! Seite
.$eval(„div.listuser-header__headline-default“, (el) => el.innererText.trimmen())
.Fang(() => 'N / A');

// Organisation erhalten
const Organisation = – warten auf Sie! Seite
.$eval(„a.listuser-header__organization“, (el) => el.innererText.trimmen())
.Fang(() => 'N / A');

// Nettovermögen ermitteln
const Nettovermögen = – warten auf Sie! Seite.$eval(„div.profile-info__item-value“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Biografietext abrufen
const bio = – warten auf Sie! Seite.$eval('ul', (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Zusätzliche Stackdaten abrufen
const Stapeldaten = – warten auf Sie! bewerten(() => {
lassen Daten = {};
const Titel = Feld.für(Dokument.querySelectorAll(„.profile-stats__title“));
const Texte = Feld.für(Dokument.querySelectorAll(„.profile-stats__text“));
Titel.für jeden((Titel, ich) => (Daten[Titel.innererText.trimmen()] = Texte[i].innererText.trimmen()));
Rückkehr Datum;
});

// Daten an BillionaireList senden
Milliardärsliste.drücken({
Rang: Rang,
Name: Name,
Titel : Titel,
Organisation: Organisation,
Reinvermögen: Nettovermögen,
Stapeln: Stapeldaten,
-Biografie: Bio,
});
} Fang (äh) {
trösten.Log(`Fehler beim Scraping ${link}: ${err}`);
}
}

– warten auf Sie! Browser.schließen();
Rückkehr Milliardärsliste;
}

scrapeBillionaires().dann((die Datenerfassung) => {
trösten.Log(Daten); // Daten an die Konsole ausgeben
});

Speichern von Daten in einer JSON-Datei

Sobald die Daten gescrapt sind, müssen wir sie für die spätere Verwendung in einem strukturierten Format wie JSON speichern.

Beispielcode:

1
2
3
4
5
6
7
8
async Funktion DatenInDateispeichern(Daten, Dateiname = „forbes_billionaires.json“) {
fs.SchreibeFileSync(Dateiname, JSON.stringifizieren(Daten, null, 2), 'utf-8');
trösten.Log(`Daten gespeichert in ${Dateiname}`);
}

scrapeBillionaires().dann((die Datenerfassung) => {
DatenInDateispeichern(Daten);
});

Dadurch werden alle gescrapten Artikel in einem forbes_billionaires.json Datei, sodass die Daten in Zukunft leicht zugänglich und verwendbar sind.

Vollständiges Codebeispiel

Hier ist der vollständige 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const Puppenspieler = erfordern('Puppenspieler');
const fs = erfordern('fs');

async Funktion scrapeBillionaires() {
const Browser = – warten auf Sie! Puppenspieler.starten({ kopflos: was immer dies auch sein sollte. });
const Seite = – warten auf Sie! Browser.neue Seite();

// Zur Forbes-Milliardärsliste
– warten auf Sie! goto(
'https://www.forbes.com/sites/chasewithorn/2024/04/02/forbes-worlds-billionaires-list-2024-the-top-200/?sh=67b3016430a7',
{
Timeout: 0,
},
);

const Links = – warten auf Sie! Seite.$$eval(„ein.Farblink“, (Links) => Links.Scheibe(2).Karte((Link) => Link.href));
const Milliardärsliste = [];

für (lassen Link of Links) {
versuchen {
– warten auf Sie! goto(Link, { Timeout: 0 });

// Rang abrufen
const Rang = – warten auf Sie! Seite.$eval(„.listuser-item__list--rank“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Namen abrufen
const Name = – warten auf Sie! Seite.$eval(„h1.listuser-header__name“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Titel abrufen
const Titel = – warten auf Sie! Seite
.$eval(„div.listuser-header__headline-default“, (el) => el.innererText.trimmen())
.Fang(() => 'N / A');

// Organisation erhalten
const Organisation = – warten auf Sie! Seite
.$eval(„a.listuser-header__organization“, (el) => el.innererText.trimmen())
.Fang(() => 'N / A');

// Nettovermögen ermitteln
const Nettovermögen = – warten auf Sie! Seite.$eval(„div.profile-info__item-value“, (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Biografietext abrufen
const bio = – warten auf Sie! Seite.$eval('ul', (el) => el.innererText.trimmen()).Fang(() => 'N / A');

// Zusätzliche Stackdaten abrufen
const Stapeldaten = – warten auf Sie! bewerten(() => {
lassen Daten = {};
const Titel = Feld.für(Dokument.querySelectorAll(„.profile-stats__title“));
const Texte = Feld.für(Dokument.querySelectorAll(„.profile-stats__text“));
Titel.für jeden((Titel, ich) => (Daten[Titel.innererText.trimmen()] = Texte[i].innererText.trimmen()));
Rückkehr Datum;
});

// Daten an BillionaireList senden
Milliardärsliste.drücken({
Rang: Rang,
Name: Name,
Titel : Titel,
Organisation: Organisation,
Reinvermögen: Nettovermögen,
Stapeln: Stapeldaten,
-Biografie: Bio,
});
} Fang (äh) {
trösten.Log(`Fehler beim Scraping ${link}: ${err}`);
}
}

– warten auf Sie! Browser.schließen();
Rückkehr Milliardärsliste;
}

async Funktion DatenInDateispeichern(Daten, Dateiname = „forbes_billionaires.json“) {
fs.SchreibeFileSync(Dateiname, JSON.stringifizieren(Daten, null, 2), 'utf-8');
trösten.Log(`Daten gespeichert in ${Dateiname}`);
}

scrapeBillionaires().dann((die Datenerfassung) => {
DatenInDateispeichern(Daten);
});

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
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[
{
"Rang":"#1",
"Name":„Bernard Arnault & Familie“,
"Titel":„Vorsitzender und CEO, LVMH Moët Hennessy Louis Vuitton“,
"Organisation":"LVMH Moët Hennessy Louis Vuitton",
"Nettovermögen":„219.2 Milliarden Dollar“,
"Stapel":{
"Das Alter":"75",
"Quelle des Reichtums":"LVMH",
"Residenz":"Paris, Frankreich",
"Staatsbürgerschaft":"Frankreich",
"Familienstand":"Verheiratet",
"Kinder":"5",
"Ausbildung":„Bachelor of Arts/Science, Ecole Polytechnique de Paris“
},
"Bio":"Bernard Arnault leitet das LVMH-Imperium mit 75 Mode- und Kosmetikmarken, darunter Louis Vuitton und Sephora.\nLVMH erwarb 2021 den amerikanischen Juwelier Tiffany & Co für 15.8 Milliarden Dollar, vermutlich die größte Übernahme einer Luxusmarke aller Zeiten.\nArnaults Holdinggesellschaft Agache unterstützt die Risikokapitalgesellschaft Aglaé Ventures, die in Unternehmen wie Netflix und die TikTok-Muttergesellschaft ByteDance investiert.\nSein Vater machte ein kleines Vermögen im Baugewerbe; Arnault begann damit, 15 1984 Millionen Dollar aus diesem Geschäft aufzubringen, um Christian Dior zu kaufen.\nArnaults fünf Kinder arbeiten alle bei LVMH; im Juli 2022 schlug er eine Reorganisation seiner Holdinggesellschaft Agache vor, um ihnen gleiche Anteile zu geben."
},
{
"Rang":"#2",
"Name":„Elon Musk“,
"Titel":„Geschäftsführer, Tesla“,
"Organisation":"Tesla",
"Nettovermögen":„189.2 Milliarden Dollar“,
"Stapel":{
"Das Alter":"52",
"Quelle des Reichtums":„Tesla, SpaceX, Selbst gemacht“,
„Selbstgemachte Filmmusik“:"8",
„Philanthropie-Score“:"1",
"Residenz":"Austin, Texas",
"Staatsbürgerschaft":"Vereinigte Staaten",
"Familienstand":"Einzel",
"Kinder":"11",
"Ausbildung":„Bachelor of Arts/Science, Universität von Pennsylvania“
},
"Bio":„Elon Musk hat sechs Unternehmen mitgegründet, darunter den Elektroautohersteller Tesla, den Raketenproduzenten SpaceX und das Tunnelbau-Startup Boring Company.\nEr besitzt etwa 12 % von Tesla ohne Optionen, hat aber mehr als die Hälfte seiner Aktien als Sicherheit für Privatkredite in Höhe von bis zu 3.5 Milliarden Dollar verpfändet.\nAnfang 2024 erklärte ein Richter in Delaware Musks Deal aus dem Jahr 2018 für nichtig, Optionen in Höhe von weiteren 9 % von Tesla zu erhalten. Forbes hat die Optionen bis zur Berufung von Musk um 50 % abgezinst.\nSpaceX, gegründet 2002, ist nach einem Übernahmeangebot von bis zu 180 Millionen Dollar im Dezember 2023 fast 750 Milliarden Dollar wert; die SpaceX-Aktie hat ihren Wert in vier Jahren verfünffacht.\nMusk kaufte Twitter 2022 für 44 Milliarden Dollar, nachdem er später versucht hatte, aus dem Deal auszusteigen. Er besitzt schätzungsweise 74 % des Unternehmens, das jetzt X heißt.\nForbes schätzt, dass Musks Anteil an X jetzt fast 70 % weniger wert ist als er bezahlte dafür auf Grundlage der Unternehmensbewertung des Investors Fidelity mit Stand Dezember 2023.“
},
{
"Rang":"#3",
"Name":"Jeff Bezos",
"Titel":„Vorsitzender und Gründer von Amazon“,
"Organisation":"Amazonas",
"Nettovermögen":„202.4 Milliarden Dollar“,
"Stapel":{
"Das Alter":"60",
"Quelle des Reichtums":„Amazon, selbst gemacht“,
„Selbstgemachte Filmmusik“:"8",
„Philanthropie-Score“:"2",
"Residenz":"Miami, Florida",
"Staatsbürgerschaft":"Vereinigte Staaten",
"Familienstand":"Beschäftigt",
"Kinder":"4",
"Ausbildung":„Bachelor of Arts/Science, Princeton University“
},
"Bio":"Jeff Bezos gründete 1994 den E-Commerce-Riesen Amazon in seiner Garage in Seattle.\nBezos trat 2021 als CEO zurück, um geschäftsführender Vorsitzender zu werden. Er besitzt etwas weniger als 10 % des Unternehmens.\nEr und seine Frau MacKenzie ließen sich 2019 nach 25 Jahren Ehe scheiden und er übertrug ihr ein Viertel seines damaligen 16-prozentigen Amazon-Anteils.\nBezos spendete 1.1 Aktien im Wert von über 2023 Millionen Dollar an gemeinnützige Organisationen, wobei unklar ist, welche Organisationen diese Aktien erhalten haben.\nIhm gehören die Washington Post und Blue Origin, ein Luft- und Raumfahrtunternehmen, das Raketen entwickelt; im Juli 2021 flog er kurzzeitig mit einer davon ins All.\nBezos sagte in einem Interview mit CNN im November 2022, dass er plant, den Großteil seines Vermögens im Laufe seines Lebens zu verschenken, ohne konkrete Einzelheiten preiszugeben."
},
{
"Rang":"#4",
"Name":"Mark Zuckerberg",
"Titel":„Mitbegründer, Meta Platforms“,
"Organisation":„Meta-Plattformen“,
"Nettovermögen":„184.3 Milliarden Dollar“,
"Stapel":{
"Das Alter":"39",
"Quelle des Reichtums":„Facebook, selbst gemacht“,
„Selbstgemachte Filmmusik“:"8",
„Philanthropie-Score“:"2",
"Residenz":"Palo Alto, Kalifornien",
"Staatsbürgerschaft":"Vereinigte Staaten",
"Familienstand":"Verheiratet",
"Kinder":"3",
"Ausbildung":„Abbrecher, Harvard University“
},
"Bio":„Der damals 19-jährige Mark Zuckerberg gründete Facebook im Jahr 2004, damit Schüler Namen mit Fotos ihrer Klassenkameraden abgleichen konnten.\nZuckerberg brachte Facebook 2012 an die Börse; heute besitzt er etwa 13 % der Aktien des Unternehmens.\nFacebook änderte seinen Namen 2021 in Meta, um den Fokus des Unternehmens auf das Metaversum zu verlagern.\nIm Jahr 2015 versprachen Zuckerberg und seine Frau Priscilla Chan, 99 % ihres Meta-Anteils im Laufe ihres Lebens zu verschenken.“
},
.... mehr
]

Im nächsten Abschnitt besprechen wir, wie man Forbes Scraping mit Crawlbase optimieren kann. Crawling API.

Optimieren Sie Forbes Scraping mit Crawlbase Crawling API

Puppeteer eignet sich hervorragend zum Scrapen dynamischer Websites, ist jedoch langsam, wenn es um große Datenmengen oder JavaScript-lastige Seiten wie Forbes geht. Um Scraping und Leistung zu optimieren, können wir Folgendes verwenden: Crawlbase Crawling API, das die Handhabung von mit JavaScript gerenderten Inhalten vereinfacht und mehr Kontrolle und Effizienz bietet.

Einführung in Crawlbase Crawling API

Crawlbase Crawling API umgeht gängige Web Scraping-Herausforderungen wie CAPTCHAs, dynamisches Laden von Inhalten und komplexe HTML-Strukturen. Für das Scraping bietet Forbes Crawlbase eine optimierte Lösung, indem es die JavaScript-Darstellung direkt übernimmt, was es zu einer effizienteren Alternative zu Puppeteer für große Scraping-Projekte macht.

Warum Crawlbase für Forbes Scraping verwenden?

  • Verarbeitet dynamische Inhalte: Optimiert für JavaScript-lastige Seiten wie Forbes.
  • Verbesserte Geschwindigkeit und Skalierbarkeit: Keine Headless-Browser erforderlich, schnelleres Scraping.
  • Vereinfacht den Prozess: Einfache API-Aufrufe zum Scraping von Daten, integrierte CAPTCHAs und Anti-Scraping-Mechanismen.

So verwenden Sie Crawlbase mit Forbes

Um Forbes mit Crawlbase zu scrapen, müssen Sie sich anmelden und Ihr API-Token erhalten. So können Sie loslegen:

  1. Melden Sie sich bei Crawlbase an: Erstellen Sie ein Konto auf Crawlbase und holen Sie sich Ihr API-Token. Sie benötigen ein JS-Token für Forbes.
  2. Crawlbase-Bibliothek installieren: Installieren Sie in Ihrer Node.js-Umgebung die Crawlbase Crawling API Bibliothek mit:
1
npm installiere Crawlbase
  1. Richten Sie Ihre Anfrage ein: Initialisieren Sie die Crawlbase-API mit Ihrem Token und führen Sie GET-Anfragen durch, um Forbes-Daten zu scrapen.

Codebeispiel mit Crawlbase

Hier ist ein Codebeispiel, das die Crawlbase-JavaScript-Bibliothek verwendet, um Forbes-Daten effizienter zu scrapen:

Beispielcode:

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
const { CrawlingAPI } = erfordern(„Crawlbase“);
const tschüss = erfordern("Tschüs");
const fs = erfordern('fs');

// Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
const API = neu CrawlingAPI({ Zeichen: 'CRAWLBASE_JS_TOKEN' });

async Funktion fetchForbesHTML(URL) {
versuchen {
const Antwort = – warten auf Sie! api.bekommen(URL, {
ajax_wait: "wahr", // Warten Sie, bis die AJAX-Anfragen abgeschlossen sind
Seite_warten: '5000',
});

if (Antwort.Statuscode === 200) {
Rückkehr Antwort.Körper;
} sonst {
trösten.Log(`Daten konnten nicht abgerufen werden. Statuscode: ${response.statusCode}`);
Rückkehr null;
}
} Fang (Fehler) {
trösten.Fehler(`Fehler beim Abrufen der Daten: ${Fehler}`);
Rückkehr null;
}
}

async Funktion ForbesData analysieren(html) {
const $ = Prost.Belastung(html);

lassen Milliardärsliste = [];
$(„.Farblink“)
.Scheibe(2)
.jeder(async Funktion () {
const Link = $(fehlen uns die Worte.).attr('href');

versuchen {
const detailPageHHTml = – warten auf Sie! fetchForbesHTML(Link);
const $page = Prost.Belastung(detailPageHtml);

lassen Rang = $Seite(„.listuser-item__list--rank“).Text().trimmen() || 'N / A';
lassen Name = $Seite(„h1.listuser-header__name“).Text().trimmen() || 'N / A';
lassen Titel = $Seite(„div.listuser-header__headline-default“).Text().trimmen() || 'N / A';
lassen Organisation = $Seite(„a.listuser-header__organization“).Text().trimmen() || 'N / A';
lassen Nettowert = $Seite(„div.profile-info__item-value“).Text().trimmen() || 'N / A';
lassen bio = $seite('ul').Text().trimmen() || 'N / A';
lassen Stapeldaten = {};

$Seite(„.profile-stats__title“).jeder((ich, der) => {
lassen Titel = $(el).Text().trimmen();
lassen Text = $Seite(„.profile-stats__text“).eq(ich).Text().trimmen();
stackData[Titel] = Text;
});

Milliardärsliste.drücken({
Rang: Rang,
Name: Name,
Titel : Titel,
Organisation: Organisation,
Reinvermögen: Nettovermögen,
Stapeln: Stapeldaten,
-Biografie: Bio,
});
} Fang (äh) {
trösten.Fehler(`Fehler beim Parsen der Daten für ${link}: ${err}`);
}
});

Rückkehr Milliardärsliste;
}

async Funktion InDatei speichern(Daten, Dateiname = „forbes_billionaires.json“) {
fs.SchreibeFileSync(Dateiname, JSON.stringifizieren(Daten, null, 2), 'utf-8');
trösten.Log(`Daten gespeichert in ${Dateiname}`);
}

(async Funktion () {
const URL =
'https://www.forbes.com/sites/chasewithorn/2024/04/02/forbes-worlds-billionaires-list-2024-the-top-200/?sh=67b3016430a7';
const html = – warten auf Sie! fetchForbesHTML(URL);
if (html) {
const Daten = – warten auf Sie! ForbesData analysieren(html);
– warten auf Sie! InDatei speichern(Daten);
}
}) ();

Erklärung des Kodex:

  1. Crawlbase initialisieren: CrawlingAPI wird mit Ihrem Crawlbase-Token initialisiert, um auf die API zum Scraping zuzugreifen.
  2. Anfrage erhalten: Wir gebrauchen api.get() um die Forbes-URL zu scrapen. Wir verwenden ajax_wait und page_wait um sicherzustellen, dass alle dynamischen Inhalte geladen werden.
  3. HTML-Analyse: Wir gebrauchen cheerio um das HTML zu analysieren und wichtige Datenpunkte zu extrahieren.
  4. Datenspeicher: Die extrahierten Daten werden in einer JSON-Datei gespeichert.

Auf diese Weise ist das Scraping von Forbes effizienter, Crawlbase übernimmt das JavaScript-Rendering und komplexe Inhaltsstrukturen.

Optimieren Sie Forbes Scraping mit Crawlbase

Ob Sie Geschäftstrends, Finanznachrichten oder Top-Unternehmensrankings analysieren, das Scraping von Daten aus Forbes kann sehr nützlich sein. Tools wie Puppeteer eignen sich zwar hervorragend für die Verarbeitung von JavaScript-gerenderten Seiten, sind jedoch zeitaufwändig und ressourcenintensiv. Mit Crawlbase Crawling API vereinfacht den Vorgang und beschleunigt das Scraping dynamischer Inhalte.

Folgen Sie dieser Anleitung, um Forbes-Daten zu scrapen und Ihre Projekte mit Crawlbase zu skalieren. Diese Methode ist eine zuverlässige und optimierte Methode, um Websites wie Forbes zu scrapen. Wenn Sie Ihre Web-Scraping-Fähigkeiten erweitern möchten, sollten Sie unsere folgenden Anleitungen zum Scrapen anderer wichtiger Websites lesen.

📜 So scrapen Sie Monster.com
📜 Wie man Groupon scrapt
📜 So scrapen Sie TechCrunch
📜 Wie man Clutch.co scrapt

Bei Fragen oder Anregungen steht Ihnen unser Support-Team steht Ihnen jederzeit zur Verfügung, um Sie bei Ihrem Web Scraping-Vorhaben zu unterstützen. Viel Spaß beim Scraping!

Häufig gestellte Fragen

F: Kann ich Daten aus Forbes extrahieren?

Ja, es ist möglich, Daten von Forbes zu extrahieren. Das Scraping jeder Website, einschließlich Forbes, sollte in Übereinstimmung mit deren Nutzungsbedingungen erfolgen. Überprüfen Sie immer die robots.txt Datei und stellen Sie sicher, dass Sie keine Bedingungen bezüglich der Datenextraktion verletzen. Die Verwendung von APIs wie Crawlbase hilft Ihnen dabei, effizient zu scrapen und gleichzeitig Best Practices einzuhalten.

F. Warum sollte ich Crawlbase verwenden? Crawling API statt Puppeteer zum Scrapen von Forbes?

Puppeteer ist zwar ein leistungsstarkes Tool für die Verarbeitung von JavaScript-Rendering, kann jedoch langsam und ressourcenintensiv sein. Crawlbase Crawling API vereinfacht den Prozess, indem es vorkonfigurierte Optionen für die Handhabung dynamischer Inhalte anbietet, was das Scraping beschleunigt und den Aufwand für die manuelle Verwaltung von Browser-Sitzungen reduziert.

F: Wie kann ich beim Scraping mit dynamischen Inhalten auf Forbes umgehen?

Forbes verwendet JavaScript, um einen Großteil seiner Inhalte dynamisch zu laden. Mit Puppeteer oder Crawlbase Crawling API mit Optionen wie ajax_wait und page_waitkönnen Sie sicherstellen, dass der Inhalt vor dem Scraping vollständig geladen ist. Dadurch wird sichergestellt, dass Sie alle relevanten Daten von der Seite erfassen.