Semalt-Experte: Python und BeautifulSoup. Kratzstellen mit Leichtigkeit

Wenn Sie Datenanalyse- oder maschinelle Lernprojekte durchführen, müssen Sie möglicherweise Websites durchsuchen, um die benötigten Daten zu erhalten und Ihr Projekt abzuschließen. Die Programmiersprache Python verfügt über eine leistungsstarke Sammlung von Tools und Modulen, die für diesen Zweck verwendet werden können. Sie können beispielsweise das BeautifulSoup-Modul für die HTML-Analyse verwenden.

Hier werfen wir einen Blick auf BeautifulSoup und finden heraus, warum es jetzt beim Web-Scraping so weit verbreitet ist.

BeautifulSoup-Funktionen

- Es bietet verschiedene Methoden zum einfachen Navigieren, Suchen und Ändern von Analysebäumen, sodass Sie ein Dokument einfach zerlegen und alles extrahieren können, was Sie benötigen, ohne zu viel Code zu schreiben.

- Ausgehende Dokumente werden automatisch in UTF-8 und eingehende Dokumente in Unicode konvertiert. Dies bedeutet, dass Sie sich keine Gedanken über Codierungen machen müssen, vorausgesetzt, das Dokument hat eine Codierung angegeben oder Beautiful Soup kann diese automatisch erkennen.

- BeautifulSoup gilt als überlegen gegenüber anderen gängigen Python-Parsern wie html5lib und lxml. Es ermöglicht das Ausprobieren verschiedener Parsing-Strategien. 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 kratzen?

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

Sie sollten die Module BeautifulSoup und Requests installiert haben.

Schließlich ist es auf jeden Fall nützlich, mit HTML-Tags und -Strukturen vertraut und vertraut zu sein, da Sie mit Daten aus dem Internet arbeiten.

Importieren von Anfragen und BeautifulSoup-Bibliotheken

Wenn die Python-Programmierumgebung gut eingerichtet ist, können Sie jetzt eine neue Datei (z. B. mit Nano) mit einem beliebigen Namen erstellen.

Mit der Requests-Bibliothek können Sie in Ihren Python-Programmen ein für Menschen lesbares Formular-HTTP verwenden, während BeautifulSoup das Scraping schneller erledigt. Sie können die import-Anweisung verwenden, um beide Bibliotheken abzurufen.

So sammeln und analysieren Sie eine Webseite

Verwenden Sie die Methode request.get (), um die URL der Webseite zu erfassen, von der Sie Daten extrahieren möchten. Erstellen Sie als Nächstes ein BeautifulSoup-Objekt oder einen Analysebaum. Dieses Objekt nimmt das Dokument aus Requests als Argumente und analysiert es dann. Nachdem die Seite gesammelt, analysiert und als BeautifulSoup-Objekt eingerichtet wurde, können Sie mit dem Sammeln der benötigten Daten fortfahren.

Extrahieren des gewünschten Textes von der analysierten Webseite

Wann immer Sie Webdaten erfassen möchten, müssen Sie wissen, wie diese Daten im 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 eines der Elemente, die Teil der gewünschten Daten sind. Wenn Sie beispielsweise Daten über die Nationalität der Schüler abrufen möchten, klicken Sie auf einen der Namen eines Schülers. Ein Kontextmenü wird angezeigt. Darin wird ein Menüelement angezeigt, das Inspect Element (für Firefox) oder Inspect (für Chrome) ähnelt. Klicken Sie auf den entsprechenden Menüpunkt Überprüfen, und die Webentwickler-Tools werden in Ihrem Browser angezeigt.

BeautifulSoup ist ein einfaches, aber leistungsstarkes HTML-Parsing-Tool, das Ihnen viel Flexibilität beim Scrapen von Websites bietet. Vergessen Sie bei der Verwendung nicht, die allgemeinen Regeln für das Scraping zu beachten, z. B. die Nutzungsbedingungen der Website. Besuchen Sie die Site regelmäßig und aktualisieren Sie Ihren Code gemäß den auf der Site vorgenommenen Änderungen. Mit diesem Wissen über das Scraping von Websites mit Python und BeautifulSoup können Sie jetzt ganz einfach die Webdaten abrufen, die Sie für Ihr Projekt benötigen.

mass gmail