wollen helfen? Hier sind Ihre Möglichkeiten:","Crunchbase","Über uns","Vielen Dank an alle für die großartige Unterstützung!","Schnelle Links","Partnerprogramm","Prämie","ProxyScrape Premium-Studie","Proxy-Typen","Proxy-Länder","Proxy-Einsatzfälle","Wichtig","Cookie-Politik","Haftungsausschluss","Datenschutzbestimmungen","Bedingungen und Konditionen","Soziale Medien","Facebook","LinkedIn","Twitter","Quora","Telegramm","Diskord","\n © Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgien | VAT BE 0749 716 760\n"]}
Web Scraping ist für Python-Entwickler, Datenanalysten und alle, die mit Datensätzen arbeiten, zu einer wichtigen Fähigkeit geworden. Wenn es um strukturierte und umfangreiche Daten geht, sind Tabellen auf Websites oft eine wahre Fundgrube an Informationen. Ganz gleich, ob Sie das Web nach Produktkatalogen, Sportstatistiken oder Finanzdaten durchsuchen, die Fähigkeit, Tabellendaten mit Python zu extrahieren und zu speichern, ist ein unschätzbares Werkzeug.
Diese praktische Anleitung führt Sie Schritt für Schritt durch den Prozess des Scrapens von Tabellen aus Websites mit Python. Am Ende werden Sie wissen, wie Sie beliebte Bibliotheken wie Requests, Beautiful Soup und sogar Pandas verwenden können, um auf Tabellendaten zuzugreifen und sie in wiederverwendbaren Formaten wie CSV-Dateien zu speichern.
Bevor wir uns in die technischen Details stürzen, erfahren Sie hier, was Sie zum Mitmachen brauchen:
Wir werden den Befehl pip verwenden, um die erforderlichen Bibliotheken zu installieren. Führen Sie einfach den folgenden Befehl in Ihrem Terminal aus, um die Installation abzuschließen:
pip install anfragen beautifulsoup4 pandas
Der erste Schritt bei jedem Web-Scraping-Projekt besteht darin, die Struktur der Ziel-Website zu analysieren. In diesem Beispiel werden wir Daten von einer Beispiel-Website abrufen, die eine Tabelle mit den Tabellen der Eishockeymannschaften enthält. Unten sehen Sie eine Vorschau auf die Tabelle:
So sieht diese Tabelle in der HTML-Struktur aus.
Der erste Schritt ist das Abrufen der Webseite, die Sie scrapen wollen. Wir verwenden die requests-Bibliothek, um eine HTTP-Anfrage zu senden und den HTML-Inhalt von der Dummy-Website abzurufen, die wir zum Abrufen des Tabelleninhalts verwenden
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
In HTML ist eine Tabelle eine strukturierte Art, Daten in Zeilen und Spalten darzustellen, genau wie in einer Tabellenkalkulation. Tabellen werden mit der Methode <table>
Tag, und ihr Inhalt ist in Zeilen unterteilt (<tr>
) und Zellen (<td>
für Datenzellen oder <th>
für Kopfzellen). Hier ist eine kurze Übersicht über die Struktur einer Tabelle:
<table>
Tags fungiert er als Container für alle Zeilen und Zellen.<tr>
(Tabellenzeile) stellt einen horizontalen Ausschnitt der Tabelle dar.<td>
Tags enthalten einzelne Datenwerte (oder <th>
Tags für Kopfzeilen). In diesem Skript suchen wir zum Beispiel nach der <table>
Tag mit einer bestimmten Klasse (class="table"
) und extrahieren Sie dessen Zeilen und Zellen mit Schöne Suppe. So können wir die Daten systematisch herausziehen und für die Analyse oder Speicherung vorbereiten.
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
In diesem Schritt speichern wir die extrahierten Tabellendaten für die spätere Verwendung in einer CSV-Datei und zeigen sie auch als Pandas DataFrame an, damit Sie sehen können, wie die Daten strukturiert sind. Wenn Sie die Daten als CSV-Datei speichern, können Sie sie später in Tools wie Excel, Google Sheets oder Python selbst analysieren.
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(f"Data saved to {csv_filename}")
Wenn Sie diesen Code ausführen, erstellt Pandas eine Datei namens gekratzte_tabelle_daten.csv
in Ihrem Arbeitsverzeichnis, und die extrahierten Daten werden wie folgt auf der Konsole ausgegeben:
Mannschaft Name Jahr Siege Niederlagen OT Niederlagen Sieg % Tore für (GF) Tore gegen (GA) + / -
0 Boston Bruins 1990 44 24 0.55 299 264 35
1 Buffalo Sabres 1990 31 30 0,388 292 278 14
2 Calgary Flames 1990 46 26 0,575 344 263 81
3 Chicago Blackhawks 1990 49 23 0,613 284 211 73
4 Detroit Red Wings 1990 34 38 0,425 273 298 -25
Nachfolgend finden Sie das vollständige Python-Skript zum Abrufen von Tabellendaten von einer Website, zum Speichern in einer CSV-Datei und zum Anzeigen der extrahierten Daten. Dieses Skript fasst alle in diesem Leitfaden behandelten Schritte in einem einzigen zusammenhängenden Arbeitsablauf zusammen.
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(df.head())
print(f"Data saved to {csv_filename}")
Dieser Leitfaden führt Sie Schritt für Schritt durch den Prozess: Verstehen der Website-Struktur, Extrahieren der Daten und Speichern der Daten für die Analyse. Ganz gleich, ob Sie Datensätze für Forschungszwecke erstellen, die Datenerfassung automatisieren oder einfach nur die Möglichkeiten des Web Scraping erkunden möchten - die Beherrschung dieser Techniken eröffnet Ihnen eine Welt voller Möglichkeiten.
Beim Scraping können Sie auf Probleme wie IP-Sperren oder von Websites auferlegte Ratenbeschränkungen stoßen. Hier sind Proxys von entscheidender Bedeutung. Proxys ermöglichen es Ihnen,:
ProxyScrape bietet eine breite Palette von Proxys an, darunter Proxys für Privatanwender, Premium-Proxys, dedizierte Proxys und mobile Proxys, die speziell für Web-Scraping geeignet sind. Die zuverlässigen und skalierbaren Proxy-Lösungen helfen Ihnen, umfangreiche Scraping-Projekte ohne Unterbrechungen zu bewältigen und gewährleisten eine reibungslose und effiziente Datenerfassung.