Healthline.com ist eine der führenden Websites zum Thema Gesundheit und Wellness mit ausführlichen Artikeln, Tipps und Erkenntnissen von Experten. Von Artikellisten bis hin zu ausführlichen Anleitungen bietet sie Inhalte für viele Anwendungsfälle. Egal, ob Sie recherchieren, eine Gesundheitsdatenbank aufbauen oder Wellness-Trends analysieren, das Scraping von Daten von Healthline kann äußerst nützlich sein.

Das Scraping einer dynamischen Website wie healthline.com ist jedoch nicht einfach. Die Website verwendet JavaScript, um ihre Seiten darzustellen, sodass herkömmliche Web-Scraping-Methoden nicht funktionieren. Hier Crawlbase Crawling API kommt ins Spiel. Crawlbase verarbeitet nahtlos mit JavaScript gerenderte Inhalte und vereinfacht den gesamten Scraping-Prozess.

In diesem Blog werden wir erklären, warum Sie Healthline.com scrapen möchten, welche wichtigen Datenpunkte Sie anvisieren sollten und wie Sie diese mit Crawlbase scrapen können. Crawling API mit Python und wie man die Scraped-Daten in einer CSV-Datei speichert. Lass uns anfangen!

Inhaltsverzeichnis

  1. Warum Healthline.com scrapen?
  2. Wichtige Datenpunkte zum Extrahieren von Healthline.com
  3. Crawlbase Crawling API für Healthline.com Scraping
  • Warum Crawlbase verwenden? Crawling API
  • Crawlbase Python-Bibliothek
  1. Einrichten Ihrer Python-Umgebung
  • Installieren von Python und erforderlichen Bibliotheken
  • Auswahl einer IDE
  1. Scraping von Healthline.com-Artikellisten
  • Überprüfen der HTML-Struktur
  • Schreiben des Healthline.com Listing Scrapers
  • Speichern von Daten in einer CSV-Datei
  • Code vervollständigen
  1. Scraping der Healthline.com-Artikelseite
  • Überprüfen der HTML-Struktur
  • Schreiben der Healthline.com-Artikelseite
  • Speichern von Daten in einer CSV-Datei
  • Code vervollständigen
  1. Abschließende Überlegungen
  2. Häufig gestellte Fragen

Warum Healthline.com scrapen?

Healthline.com ist eine vertrauenswürdige Website mit Gesundheits-, Wellness- und medizinischen Informationen, die jeden Monat Millionen Besucher hat. Die Inhalte sind gut recherchiert, benutzerfreundlich und decken ein breites Themenspektrum von Ernährung und Fitness bis hin zu Krankheitsmanagement und psychischer Gesundheit ab. Wenn Sie also gesundheitsbezogene Daten sammeln müssen.

Aus folgenden Gründen sollten Sie Healthline scrapen:

  • Erstellen von Gesundheitsdatenbanken: Wenn Sie eine Website zum Thema Gesundheit und Wellness erstellen, können Sie strukturierte Daten aus Healthline, Artikeltitel, Zusammenfassungen und wichtige Punkte extrahieren.
  • Trendanalyse: Durchsuchen Sie Healthline-Artikel, um zu sehen, was gerade im Trend liegt, was es Neues gibt und woran die Benutzer interessiert sind.
  • Forschungsprojekte: Studenten, Datenanalysten und Forscher können Healthline-Daten für Studien oder Projekte zu Gesundheit, Fitness oder medizinischen Durchbrüchen verwenden.
  • Inhaltspflege: Gesundheitsblogger oder Entwickler von Wellness-Apps können sich Inspiration oder Referenzen für ihre Inhalte holen.

Wichtige Datenpunkte zum Extrahieren von healthline.com

Konzentrieren Sie sich beim Scraping von healthline.com auf die folgenden wertvollen Datenpunkte:

Bild zu den wichtigsten Datenpunkten zum Extrahieren von Healthline.com

Durch das Sammeln all dieser Informationen erhalten Sie ein vollständiges Bild des Inhalts der Website, das für Forschungs- oder Gesundheitsprojekte äußerst nützlich ist. Im nächsten Abschnitt wird erläutert, wie die Crawlbase Crawling API erleichtert das Scraping dieser Daten.

Crawlbase Crawling API für healthline.com Scraping

Das Scraping von healthline.com erfordert die Verarbeitung von JavaScript-gerenderten Inhalten, was schwierig sein kann. Crawlbase Crawling API kümmert sich für Sie um JavaScript-Rendering, Proxys und andere technische Aspekte.

Warum Crawlbase verwenden? Crawling API?

Die Crawlbase Crawling API eignet sich perfekt zum Scraping von healthline.com, weil:

  • Verarbeitet JavaScript-Rendering: Für dynamische Websites wie healthline.com.
  • Automatische Proxy-Rotation: Verhindert IP-Blockierungen durch rotierende Proxys.
  • Fehlerbehandlung: Behandelt CAPTCHAs und Website-Einschränkungen.
  • Einfache Integration mit Python: Einfach mit der Crawlbase Python-Bibliothek.
  • Kostenlose Testversion: Bietet 1,000 kostenlose Anfragen für einen einfachen Start.

Crawlbase Python-Bibliothek

Crawlbase verfügt auch über eine Python-Bibliothek, mit der Sie die API ganz einfach in Ihre Projekte integrieren können. Sie benötigen einen Zugriffstoken, der nach AnmeldungFolgen Sie diesem Beispiel, um eine Anfrage an die Crawlbase zu senden Crawling API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({'Zeichen': 'IHR_CRAWLBASE_TOKEN'})

def Crawlbase-Anfrage erstellen(URL):
Antwort = crawling_api.get(URL)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

Wichtige Hinweise:

  • Verwenden Sie ein JavaScript (JS)-Token zum Scraping dynamischer Inhalte.
  • Crawlbase unterstützt statisches und dynamisches Content Scraping mit dedizierten Tokens.
  • Mit der Python-Bibliothek können Sie Daten scrapen und extrahieren, ohne sich um JavaScript-Rendering oder Proxys kümmern zu müssen.

Beginnen wir nun mit der Einrichtung Ihrer Python-Umgebung zum Scrapen von healthline.com.

Einrichten Ihrer Python-Umgebung

Bevor Sie mit dem Scraping von healthline.com beginnen, müssen Sie Ihre Python-Umgebung einrichten. Dieser Schritt stellt sicher, dass Sie über alle Tools und Bibliotheken verfügen, die Sie zum Ausführen Ihres Scrapers benötigen.

1. Installieren Sie Python und die erforderlichen Bibliotheken

Laden Sie Python herunter und installieren Sie es vom offizielle Python-Website. Sobald Python installiert ist, können Sie pip, den Paketmanager von Python, verwenden, um die Bibliotheken zu installieren:

1
pip installieren crawlbase beautifulsoup4 pandas
  • Crawlbase: Behandelt die Interaktion mit der Crawlbase Crawling API.
  • BeautifulSuppe: Zum Parsen von HTML und Extrahieren der erforderlichen Daten.
  • Pandas: Hilft beim Strukturieren und Speichern von Scraped-Daten in CSV-Dateien oder anderen Formaten.

2. Wählen Sie eine IDE

Eine integrierte Entwicklungsumgebung (IDE) macht das Programmieren effizienter. Beliebte Optionen sind:

  • PyCharm: Ein leistungsstarkes Tool mit Debugging- und Projektmanagementfunktionen.
  • Visual Studio Code: Leicht und anfängerfreundlich mit vielen Erweiterungen.
  • Jupyter Notizbuch: Ideal zum interaktiven Testen und Ausführen kleiner Skripte.

3. Erstellen Sie ein neues Projekt

Richten Sie einen Projektordner ein und erstellen Sie eine Python-Datei, in die Sie Ihr Scraper-Skript schreiben. Beispiel:

1
2
3
mkdir Gesundheitslinien-Scraper
cd Gesundheitslinien-Scraper
aufnehmen scraper.py

Sobald Ihre Umgebung bereit ist, können Sie mit dem Erstellen Ihres Scrapers für healthline.com beginnen. In den nächsten Abschnitten werden wir Schritt für Schritt durch das Schreiben des Scrapers für Listenseiten und Artikelseiten gehen.

Scraping von Healthline.com-Artikellisten

Um Artikellisten von healthline.com zu scrapen, verwenden wir die Crawlbase Crawling API für dynamisches JavaScript-Rendering. Lassen Sie uns dies Schritt für Schritt anhand professioneller, aber leicht verständlicher Codebeispiele aufschlüsseln.

1. Überprüfung der HTML-Struktur

Bevor Sie Code schreiben, öffnen Sie healthline.com und navigieren Sie zu einer Artikelliste. Verwenden Sie die Entwicklertools des Browsers (normalerweise zugänglich durch Drücken von F12), um die HTML-Struktur zu überprüfen.

Beispiel für eine Artikel-Linkstruktur:

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
<div Klasse="css-1hm2gwy">
<div>
<a
Klasse="css-17zb9f8"
Datenereignis="|Globale Überschrift|Klick auf Suchergebnis"
Datenelement-Ereignis=„INTERNER LINK|ABSCHNITT|Jede Seite|SUCHERGEBNISSE|LINK|/health-news/antacidas-increase-migraine-risk|“
href=„https://www.healthline.com/health-news/antacids-increase-migraine-risk“
>
<Spannweite Klasse=„ais-Highlight“>
<Spannweite Klasse=„ais-Highlight-nonHighlighted“>Antazida stehen im Zusammenhang mit einem höheren Risiko für </Spannweite>
<em Klasse=„ais-Highlight-hervorgehoben“>Migräne</em>
<Spannweite Klasse=„ais-Highlight-nonHighlighted“>, Starke Kopfschmerzen</Spannweite>
</Spannweite>
</a>
</div>
<div Klasse="css-1evntxy">
<Spannweite Klasse=„ais-Highlight“>
<Spannweite Klasse=„ais-Highlight-nonHighlighted“
>Neue Forschungsergebnisse deuten darauf hin, dass Menschen, die Antazida einnehmen, einem höheren Risiko ausgesetzt sind für
</Spannweite>
<em Klasse=„ais-Highlight-hervorgehoben“>Migräne</em>
<Spannweite Klasse=„ais-Highlight-nonHighlighted“> Anfälle und starke Kopfschmerzen.</Spannweite>
</Spannweite>
</div>
</div>

Identifizieren Sie Elemente wie:

  • Artikeltitel: Gefunden in einem a Tag mit Klasse css-17zb9f8.
  • Links: Gefunden in href Attribut eines a tag.
  • Beschreibung: Gefunden in einem div Element mit Klasse css-1evntxy.

2. Schreiben des Healthline.com Listing Scrapers

Wir verwenden die Crawlbase Crawling API um den Seiteninhalt abzurufen und BeautifulSoup, um ihn zu analysieren. Wir verwenden die ajax_wait und page_wait von Crawlbase bereitgestellte Parameter Crawling API um JS-Inhalte zu verarbeiten. Sie können über diese Parameter lesen HIER.

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Crawlbase initialisieren Crawling API
crawling_api = CrawlingAPI({'Zeichen': 'CRAWLBASE_JS_TOKEN'})

Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}

def Scrape_Artikel_Listen(URL):
Antwort = crawling_api.get(URL, Optionen)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')

Artikel = []
für Artikel in Suppe.find_all('A', Klasse_='Artikel-Link'):
Artikeltitel = Artikel.Text.Streifen()
Artikel-URL = „https://www.healthline.com“ + Artikel['href']
Artikel.anhängen({‚Titel‘: Artikeltitel, 'URL': Artikel-URL})

Rückkehr Artikel
sonst:
drucken(f"Seite konnte nicht abgerufen werden: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr []

# Beispielverwendung
URL = „https://www.healthline.com/articles“
Artikellisten = scrape_article_listings(URL)
drucken(Artikellisten)

3. Daten in einer CSV-Datei speichern

Sie können die Verwendung pandas Bibliothek, um die Scraped-Daten für einen einfachen Zugriff in einer CSV-Datei zu speichern.

1
2
3
4
5
6
importieren Pandas as pd

def als CSV speichern(Daten, Dateiname):
df = pd.DataFrame(Daten)
df.to_csv(Dateiname, Index=falsch)
drucken(f"Daten gespeichert in {Dateiname}")

4. Code vervollständigen

Wenn man alles kombiniert, sieht das Ganze wie folgt aus:

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe
importieren Pandas as pd

# Crawlbase initialisieren Crawling API
crawling_api = CrawlingAPI({'Zeichen': 'IHR_CRAWLBASE_TOKEN'})

Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}

def Scrape_Artikel_Listen(URL):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')
Artikel = []
für Artikel in Suppe.find_all('A', Klasse_='Artikel-Link'):
Artikeltitel = Artikel.Text.Streifen()
Artikel-URL = „https://www.healthline.com“ + Artikel['href']
Artikel.anhängen({‚Titel‘: Artikeltitel, 'URL': Artikel-URL})
Rückkehr Artikel
sonst:
drucken(f"Seite konnte nicht abgerufen werden: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr []

def als CSV speichern(Daten, Dateiname):
df = pd.DataFrame(Daten)
df.to_csv(Dateiname, Index=falsch)
drucken(f"Daten gespeichert in {Dateiname}")

# Beispielverwendung
URL = „https://www.healthline.com/search?q1=migräne“
Artikel = scrape_article_listings(Start-URL)
save_to_csv(Artikel, „healthline_articles.csv“)

healthline_articles.csv Schnappschuss:

healthline_articles.csv Schnappschuss

Scraping der Healthline.com-Artikelseite

Nach dem Sammeln der Artikelliste besteht der nächste Schritt darin, Details von einzelnen Artikelseiten zu extrahieren. Jede Artikelseite enthält normalerweise detaillierte Inhalte wie Titel, Veröffentlichungsdatum und Haupttext. So extrahieren Sie diese Daten effizient mit Crawlbase Crawling API und Python.

1. Überprüfung der HTML-Struktur

Öffnen Sie eine Artikelseite von healthline.com in Ihrem Browser und überprüfen Sie den Seitenquellcode mithilfe der Entwicklertools (F12).

Healthline Artikel Seite überprüfen

Suchen:

  • Titel : Gefunden in <h1> Tag mit Klasse css-6jxmuv.
  • Verfasser: Gefunden in einem div mit Attribut data-testid="byline".
  • Körperinhalt: Gefunden in article Tag mit Klasse article-body.

2. Schreiben des Healthline.com-Artikel-Scrapers

Wir holen das HTML des Artikels mithilfe der Crawlbase Crawling API und extrahieren Sie die gewünschten Informationen mit BeautifulSoup.

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe

# Crawlbase initialisieren Crawling API
crawling_api = CrawlingAPI({'Zeichen': 'CRAWLBASE_JS_TOKEN'})

Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}

def Artikelseite scrapen(URL):
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')

# Details extrahieren
Titel = Suppe.find('h1', Klasse_='Artikeltitel').text.strip()
byline = soup.find('Zeit').erhalten('Datum/Uhrzeit', '').Streifen()
Inhalt = ''.beitreten([p.text.strip() für p in Suppe.find_all('P')])

Rückkehr {
'URL': URL,
‚Titel‘: Titel,
'Namenszeile': Autorenzeile,
'Inhalt': Inhalt
}
sonst:
drucken(f"Seite konnte nicht abgerufen werden: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

# Beispielverwendung
Artikel-URL = „https://www.healthline.com/articles/understanding-diabetes“
Artikeldetails = Artikelseite scrapen(Artikel-URL)
drucken(Artikeldetails)

3. Daten in einer CSV-Datei speichern

Nachdem Sie mehrere Artikelseiten gescrapt haben, speichern Sie die extrahierten Daten in einer CSV-Datei mit pandas.

4. Code vervollständigen

Hier ist der kombinierte Code zum Scrapen mehrerer Artikel und zum Speichern in einer CSV-Datei:

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren SchöneSuppe:
importieren Pandas as pd

# Crawlbase initialisieren Crawling API
crawling_api = CrawlingAPI({'Zeichen': 'IHR_CRAWLBASE_TOKEN'})

def Artikelseite scrapen(URL):
Antwort = crawling_api.get(URL)
if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')

# Details extrahieren
Titel = Suppe.find('h1', Klasse_='Artikeltitel').text.strip()
byline = soup.find('Zeit').erhalten('Datum/Uhrzeit', '').Streifen()
Inhalt = ''.beitreten([p.text.strip() für p in Suppe.find_all('P')])

Rückkehr {
'URL': URL,
‚Titel‘: Titel,
'Namenszeile': Autorenzeile,
'Inhalt': Inhalt
}
sonst:
drucken(f"Seite konnte nicht abgerufen werden: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

def Artikeldaten als CSV speichern(Daten, Dateiname):
df = pd.DataFrame(Daten)
df.to_csv(Dateiname, Index=falsch)
drucken(f"Daten gespeichert in {Dateiname}")

# Beispielverwendung
Artikel-URLs = [
„https://www.healthline.com/health-news/antacids-increase-migraine-risk“,
„https://www.healthline.com/health/migraine/what-to-ask-doctor-migraine“
]

Artikeldaten = [Artikelseite scrapen(URL) für URL in Artikel-URLs if scrape_article_page(url)]
save_article_data_to_csv(Artikeldaten, „healthline_articles_details.csv“)

healthline_articles_details.csv Schnappschuss:

healthline_articles_details.csv Momentaufnahme

Abschließende Überlegungen

Das Scraping von healthline.com kann wertvolle Erkenntnisse liefern, indem gesundheitsbezogene Inhalte für Forschung, Analyse oder Anwendungsentwicklung extrahiert werden. Mit Tools wie dem Crawlbase Crawling API macht diesen Prozess einfacher, sogar für Websites mit JavaScript-Rendering. Mit der Schritt-für-Schritt-Anleitung in diesem Blog können Sie Artikellisten und Detailseiten sicher scrapen und gleichzeitig Komplexitäten wie Seitennummerierung und strukturierte Datenspeicherung bewältigen.

Denken Sie immer daran, die Daten verantwortungsbewusst zu verwenden und sicherzustellen, dass Ihre Scraping-Aktivitäten den rechtlichen und ethischen Richtlinien entsprechen, einschließlich der Nutzungsbedingungen der Website. Wenn Sie mehr Web Scraping betreiben möchten, lesen Sie unsere Anleitungen zum Scraping anderer wichtiger Websites.

📜 So scrapen Sie Monster.com
📜 Wie man Groupon scrapt
📜 So scrapen Sie TechCrunch
📜 So scrapen Sie Tweet-Seiten von X.com
📜 Wie man Clutch.co scrapt

Wenn Sie Fragen haben oder Feedback geben möchten, Support-Team kann beim Web Scraping helfen. Viel Spaß beim Scraping!

Häufig gestellte Fragen

Das Scraping von Daten von Websites, einschließlich healthline.com, hängt von den Nutzungsbedingungen der Website und den geltenden Gesetzen in Ihrer Region ab. Lesen Sie vor dem Scraping immer die Nutzungsbedingungen der Website. Stellen Sie beim ethischen Scraping sicher, dass Ihre Aktivitäten den Server nicht überlasten, und vermeiden Sie die Verwendung der Daten für Zwecke, die gegen gesetzliche oder ethische Richtlinien verstoßen.

F: Auf welche Herausforderungen kann ich beim Scraping von healthline.com stoßen?

Healthline.com verwendet JavaScript, um Inhalte dynamisch darzustellen, was bedeutet, dass die Inhalte möglicherweise nicht sofort in der HTML-Quelle verfügbar sind. Darüber hinaus können Sie auf Ratenbegrenzungs- oder Anti-Scraping-Mechanismen stoßen. Tools wie Crawlbase Crawling API helfen Ihnen, diese Herausforderungen mit Funktionen wie JavaScript-Rendering und Proxy-Rotation zu meistern.

F: Kann ich mit derselben Methode andere ähnliche Websites scrapen?

Ja, die in diesem Blog beschriebenen Techniken und Tools können angepasst werden, um andere JavaScript-lastige Websites zu scrapen. Durch die Verwendung Crawlbase Crawling API und durch Überprüfen der HTML-Struktur der Zielwebsite können Sie Ihren Scraper anpassen, um effizient Daten von ähnlichen Plattformen zu sammeln.