Stop guessing what′s working and start seeing it for yourself.
Login or register
Q&A
Question Center →

Semalt Experte: Python und BeautifulSoup. Kratzen Sie Websites mit Leichtigkeit

Bei der Durchführung von Datenanalyse- oder maschinellen Lernprojekten müssen Sie möglicherweise Websites scrapen, um zu erhalten die benötigten Daten und vervollständigen Sie Ihr Projekt. Python Programmiersprache verfügt über eine leistungsstarke Sammlung von Tools und Modulen, die für diesen Zweck verwendet werden können. Zum Beispiel können Sie das BeautifulSoup-Modul für das HTML-Parsing verwenden.

Hier sehen wir uns BeautifulSoup an und finden heraus, warum es jetzt in  Web Scraping so weit verbreitet ist .

BeautifulSoup features

- Es bietet verschiedene Methoden für die einfache Navigation, Suche und Änderung von Parse-Bäumen, so dass Sie leicht ein Dokument zerlegen und alles extrahieren können, ohne zu viel Code zu schreiben.

- Es konvertiert automatisch ausgehende Dokumente in UTF-8 und eingehende Dokumente in Unicode. Das bedeutet, dass Sie sich keine Gedanken über Kodierungen machen müssen, vorausgesetzt, das Dokument hat eine Kodierung angegeben oder Beautiful Soup kann sie automatisch erkennen.

- BeautifulSoup gilt anderen populären Python-Parsern wie html5lib und lxml als überlegen. Es ermöglicht verschiedene Analyse-Strategien auszuprobieren. Ein Nachteil dieses Moduls ist jedoch, dass es mehr Flexibilität auf Kosten der Geschwindigkeit bietet.

Was brauchen Sie, um die Website mit BeautifulSoup zu scrappen?

Um mit BeautifulSoup arbeiten zu können, müssen Sie eine Python-Programmierumgebung (entweder lokal oder serverbasiert) auf Ihrem Rechner einrichten. Python ist normalerweise in OS X vorinstalliert, aber wenn Sie Windows verwenden, müssen Sie die Sprache von der offiziellen Website herunterladen und installieren.

Anfragen und BeautifulSoup-Bibliotheken importieren

Mit Python-Programmierumgebung gut eingerichtet, Sie können nun eine neue Datei (z. B. mit nano) mit einem beliebigen Namen erstellen.

Die Requests-Bibliothek ermöglicht Ihnen die Verwendung einer von Menschen lesbaren HTTP-Form in Ihren Python-Programmen Während BeautifulSoup das Scrapping schneller erledigt, können Sie mit der import-Anweisung beide Bibliotheken holen.

So sammeln und analysieren Sie eine Webseite

Verwenden Sie die requests.get-Methode um die URL der Webseite, von der Sie Daten extrahieren möchten, zu sammeln, und anschließend ein BeautifulSoup-Objekt oder einen Parse-Tree zu erstellen es das Dokument von Requests als Argumente und parst es dann. Nachdem die Seite gesammelt, analysiert und als BeautifulSoup-Objekt eingerichtet wurde, können Sie mit der Erfassung der benötigten Daten fortfahren.

Extrahieren des gewünschten Texts von der geparsten Webseite

Wann immer Sie Web-Daten sammeln wollen, müssen Sie wissen, wie diese Daten vom Document Object Model (DOM) der Webseite beschrieben werden . Klicken Sie in Ihrem Webbrowser mit der rechten Maustaste (bei Verwendung von Windows) oder bei gedrückter STRG-Taste (bei Verwendung von macOS) auf einen der Elemente, die Teil der relevanten Daten sind. Wenn Sie beispielsweise Daten über die Nationalität von Studenten herausziehen möchten, klicken Sie auf einen der Namen eines Schülers. Es wird ein Kontextmenü angezeigt, in dem Sie einen Menüeintrag sehen, der Inspect Element (für Firefox) oder Inspect (für Chrome) ähnelt. Klicken Sie auf den entsprechenden Menüeintrag Inspizieren und die Webentwicklungswerkzeuge werden in Ihrem Browser angezeigt.

BeautifulSoup ist ein einfaches, aber leistungsstarkes HTML-Analysetool, das Ihnen beim  Scraping von Websites  viel Flexibilität bietet. Vergessen Sie nicht, allgemeine Scraping-Regeln zu beachten, z. B. die Allgemeinen Geschäftsbedingungen der Website zu überprüfen; Erneute regelmäßige Überprüfung der Website und Aktualisierung Ihres Codes gemäß den auf der Website vorgenommenen Änderungen. Mit diesem Wissen über das Scrapen von Websites mit Python und BeautifulSoup können Sie jetzt ganz einfach die Webdaten abrufen, die Sie für Ihr Projekt benötigen.

View more on these topics

Post a comment

Post Your Comment
© 2013 - 2024, Semalt.com. All rights reserved

Skype

semaltcompany

WhatsApp

16468937756

Telegram

Semaltsupport