Erstellen eines Web Scrapers mit BeautifulSoup – Eine vollständige Anleitung
Veröffentlicht: 2024-03-19Für diejenigen, die die Leistungsfähigkeit von Webdaten nutzen möchten, ist BeautifulSoup ein leistungsstarkes und intuitives Tool. Diese Python-Bibliothek wurde für Web-Scraping-Zwecke entwickelt und ermöglicht Ihnen das einfache Extrahieren spezifischer Informationen aus Webseiten. Dieser Leitfaden führt Sie durch die Erstellung eines Web-Scraper mit BeautifulSoup, den Prozess zum Web-Scraper mit Beautifulsoup, Von der Einrichtung Ihrer Umgebung bis zum Parsen und Extrahieren der benötigten Daten.
Einführung in Web Scraping mit BeautifulSoup
Unter Web Scraping versteht man das programmgesteuerte Sammeln von Informationen aus dem World Wide Web. Es handelt sich um eine wertvolle Technik, die beim Data Mining, der Informationsbeschaffung und bei Automatisierungsaufgaben eingesetzt wird. BeautifulSoup bietet in Kombination mit der Requests-Bibliothek von Python einen unkomplizierten Ansatz für Web Scraping und macht es für Programmierer aller Erfahrungsstufen zugänglich. Web Scrape mit BeautifulSoup erfordert verschiedene Voraussetzungen.
Voraussetzungen
Bevor Sie sich für BeautifulSoup entscheiden, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Grundkenntnisse der Python-Programmierung.
- Python ist auf Ihrem System installiert.
- Vertrautheit mit HTML und der Struktur von Webseiten.
Einrichten Ihrer Umgebung
- Python installieren : Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Python 3 wird aufgrund seiner verbesserten Funktionen und Unterstützung empfohlen.
- Installieren Sie BeautifulSoup und Requests : Öffnen Sie Ihre Befehlszeile oder Ihr Terminal und installieren Sie die erforderlichen Bibliotheken mit pip, dem Paketinstallationsprogramm von Python. Führen Sie die folgenden Befehle aus:
pip install beautifulsoup4
pip-Installationsanfragen
Erstellen Sie Ihren ersten Web Scraper
Das Erstellen Ihres ersten Web Scrapers mit BeautifulSoup ist ein aufregender Schritt in die Welt der Datenextraktion aus dem Web. Dieser Leitfaden führt Sie durch die Grundlagen der Einrichtung eines einfachen Scrapers mit Python und BeautifulSoup, um Webinhalte effizient abzurufen und zu analysieren. Wir scrapen Zitate von „http://quotes.toscrape.com“, einer Website zum Üben von Web-Scrape-Fähigkeiten.
Schritt 1: Einrichten Ihrer Python-Umgebung
Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist. Sie benötigen außerdem zwei Schlüsselbibliotheken: „Requests“ zum Senden von HTTP-Anfragen zum Abrufen von Webseiten und „Beautifulsoup4“ zum Parsen von HTML-Inhalten.
Wenn Sie diese Bibliotheken noch nicht installiert haben, können Sie dies mit pip, dem Paketinstallationsprogramm von Python, tun. Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie die folgenden Befehle aus:
pip install beautifulsoup4
pip-Installationsanfragen
Schritt 2: Rufen Sie die Webseite ab
Um Web Scraping mit BeautifulSoup durchzuführen, schreiben Sie zunächst ein Python-Skript, um den HTML-Inhalt der Seite abzurufen, die Sie scrapen möchten. In diesem Fall holen wir Angebote von „http://quotes.toscrape.com“ ab.
Importanfragen
# URL der Website, die Sie scrapen möchten
url = 'http://quotes.toscrape.com'
# Verwenden Sie die Anforderungsbibliothek, um den Inhalt der Website abzurufen
Antwort = Anfragen.get(URL)
# Stellen Sie sicher, dass die Anfrage erfolgreich war
wenn Response.status_code == 200:
print(„Webseite erfolgreich abgerufen!“)
anders:
print(“Webseite konnte nicht abgerufen werden.”)
Schritt 3: Analysieren Sie den HTML-Inhalt mit BeautifulSoup
Sobald Sie die Webseite abgerufen haben, besteht der nächste Schritt darin, ihren HTML-Inhalt zu analysieren. BeautifulSoup macht diese Aufgabe unkompliziert. Erstellen Sie ein BeautifulSoup-Objekt und analysieren Sie damit den Antworttext.
aus bs4 Import BeautifulSoup
# Erstellen Sie ein BeautifulSoup-Objekt und geben Sie den Parser an
Suppe = BeautifulSoup(response.text, 'html.parser')
# Drucken Sie den geschönten HTML-Code aus, um die Struktur zu sehen
print(soup.prettify())
Schritt 4: Extrahieren von Daten aus dem HTML
Nachdem Sie den HTML-Code nun analysiert haben, können Sie mit dem Extrahieren der Daten beginnen, die Sie interessieren. Lassen Sie uns alle Zitate aus der Seite extrahieren.
# Finden Sie alle <span>-Elemente mit der Klasse „text“ und durchlaufen Sie sie
quotes = Suppe.find_all('span', class_='text')
zum Zitat in Anführungszeichen:
# Den Textinhalt jedes <span> drucken
print(quote.text)
Dieses Snippet findet alle <span>-Elemente mit dem Klassentext – die die Anführungszeichen auf der Seite enthalten – und gibt deren Textinhalt aus.
Schritt 5: Weitergehen
Sie können auch andere Informationen extrahieren, beispielsweise die Autoren der Zitate:
# Alle <small>-Elemente mit der Klasse „Autor“ finden
Authors = Soup.find_all('small', class_='author')
für Autor in Autoren:
# Drucken Sie den Textinhalt jedes <small> aus, der den Namen des Autors enthält
print(author.text)
Dadurch wird der Name jedes Autors ausgedruckt, der den von Ihnen extrahierten Zitaten entspricht.
Best Practices und Überlegungen
- Respektieren Sie Robots.txt : Überprüfen Sie vor dem Scrapen immer die robots.txt-Datei einer Website (z. B. http://quotes.toscrape.com/robots.txt). Es informiert Sie über die Scraping-Richtlinie der Website.
- Ausnahmen behandeln : Stellen Sie sicher, dass Ihr Code Netzwerkfehler oder ungültige Antworten ordnungsgemäß behandelt.
- Ratenbegrenzung : Achten Sie auf die Anzahl der Anfragen, die Sie an eine Website senden, um eine Blockierung zu vermeiden.
- Rechtliche Überlegungen : Seien Sie sich der rechtlichen Auswirkungen von Web Scraping bewusst und stellen Sie sicher, dass Ihre Aktivitäten den relevanten Gesetzen und Website-Nutzungsbedingungen entsprechen.
Abschluss
BeautifulSoup eröffnet mit seiner Einfachheit und Leistungsfähigkeit eine Welt voller Möglichkeiten für die Datenextraktion aus dem Web. Egal, ob Sie Daten zur Analyse sammeln, Websites auf Änderungen überwachen oder Aufgaben automatisieren, Web Scraping mit BeautifulSoup ist eine unschätzbare Fähigkeit in Ihrem Programmier-Toolkit. Wenn Sie sich auf den Weg zum Web-Scraping machen, denken Sie daran, verantwortungsbewusst und ethisch zu scrapen und die Websites, mit denen Sie interagieren, zu respektieren. Viel Spaß beim Schaben!