Python

Ein Anfängerleitfaden zum Web-Scraping mit Python und Beautiful Soup

Ein Anfängerleitfaden zum Web-Scraping mit Python und Beautiful Soup

Das World Wide Web ist die allumfassende und ultimative Quelle aller Daten, die es gibt. Die rasante Entwicklung, die das Internet in den letzten drei Jahrzehnten erlebt hat, war beispiellos. Infolgedessen wird das Web jeden Tag mit Hunderten von Terabyte an Daten gemountet.

All diese Daten haben einen gewissen Wert für eine bestimmte Person. Zum Beispiel ist Ihr Browserverlauf für Social-Media-Apps von Bedeutung, da sie ihn verwenden, um die Werbung zu personalisieren, die sie Ihnen zeigen. Und auch um diese Daten gibt es eine Menge Konkurrenz; ein paar MB mehr von einigen Daten können Unternehmen einen erheblichen Vorteil gegenüber ihrer Konkurrenz verschaffen.

Data-Mining mit Python

Um denjenigen unter Ihnen zu helfen, die mit dem Daten-Scraping noch nicht vertraut sind, haben wir diesen Leitfaden vorbereitet, in dem wir zeigen, wie Sie mit Python und der Beautiful Soup Library Daten aus dem Web kratzen.

Wir gehen davon aus, dass Sie bereits mittlere Kenntnisse mit Python und HTML haben, da Sie nach den Anweisungen in diesem Handbuch mit beiden arbeiten werden.

Seien Sie vorsichtig, auf welchen Websites Sie Ihre neu erworbenen Data-Mining-Fähigkeiten testen, da viele Websites dies als aufdringlich betrachten und wissen, dass dies Auswirkungen haben könnte.

Installieren und Vorbereiten der Bibliotheken

Jetzt werden wir zwei Bibliotheken verwenden, die wir verwenden werden: Pythons Request-Bibliothek zum Laden von Inhalten von Webseiten und die Beautiful Soup-Bibliothek für das eigentliche Scraping-Teil des Prozesses. Es gibt Alternativen zu BeautifulSoup, wohlgemerkt, und wenn Sie mit einer der folgenden vertraut sind, können Sie stattdessen diese verwenden: Scrappy, Mechanize, Selenium, Portia, Kimono und ParseHub.

Die Anforderungsbibliothek kann mit dem pip-Befehl wie folgt heruntergeladen und installiert werden:

# pip3-Installationsanfragen

Die Anforderungsbibliothek sollte auf Ihrem Gerät installiert sein. Laden Sie auch BeautifulSoup herunter:

# pip3 installiere beautifulsoup4

Damit sind unsere Bibliotheken einsatzbereit.

Wie oben erwähnt, hat die Anforderungsbibliothek nicht viel zu nutzen, außer den Inhalt von Webseiten abzurufen. Die BeautifulSoup-Bibliothek und die Anforderungsbibliotheken haben einen Platz in jedem Skript, das Sie schreiben möchten, und müssen vor jedem wie folgt importiert werden:

$importanfragen
$from bs4 importiere BeautifulSoup als bs

Dadurch wird das angeforderte Schlüsselwort zum Namespace hinzugefügt und Python die Bedeutung des Schlüsselworts signalisiert, wenn es dazu aufgefordert wird. Das gleiche passiert mit dem bs-Schlüsselwort, obwohl wir hier den Vorteil haben, ein einfacheres Schlüsselwort für BeautifulSoup zuzuweisen.

Webseite = Anfragen.abrufen(URL)

Der obige Code ruft die Webseiten-URL ab und erstellt daraus einen direkten String, der in einer Variablen gespeichert wird.

$webcontent = Webseite.Inhalt

Der obige Befehl kopiert den Inhalt der Webseite und weist ihn dem variablen Webinhalt zu.

Damit sind wir mit der Anfragebibliothek fertig. Alles, was Sie noch tun müssen, ist die Optionen für die Anforderungsbibliothek in BeautifulSoup-Optionen zu ändern.

$htmlcontent = bs(webcontent, „html.Parser“)

Dadurch wird das Anfrageobjekt geparst und in lesbare HTML-Objekte umgewandelt.

Wenn das alles erledigt ist, können wir mit dem eigentlichen Schaben übergehen.

Web-Scraping mit Python und BeautifulSoup

Lassen Sie uns weitermachen und sehen, wie wir mit BeautifulSoup nach Daten-HTML-Objekten suchen können.

Um ein Beispiel zu veranschaulichen, arbeiten wir, während wir die Dinge erklären, mit diesem HTML-Snippet:

Wir können mit BeautifulSoup auf den Inhalt dieses Snippets zugreifen und es wie folgt auf die HTML-Inhaltsvariable verwenden:


Der obige Code sucht nach Tags namens

, und zeigt es dem Benutzer. Wenn mehr als ein Tag gefunden wird, werden sie einzeln angezeigt:

Technologie

Um gleichzeitig die benannten Tags zu speichern

zu einer Liste würden wir den endgültigen Code wie folgt ausgeben:

Die Ausgabe sollte wie folgt zurückgegeben werden:

Um einen der . zu beschwören

Tags, indizieren Sie die Liste und nehmen Sie die gewünschte.

Jetzt sehen wir, wie man es auswählt

Tags, die ihre Eigenschaften im Blick behalten. Um a . zu trennen
, wir bräuchten die
Tags mit dem Attribut „Tech_head“. Geben Sie den folgenden Code ein:


zum div in suppe.find_all('div',attrs='class'='Tech_head'):

Das holt die

Etikett.

Sie würden bekommen:

Technologie

Alles ohne Etikett.

Schließlich werden wir behandeln, wie man den Wert des Attributs in einem Tag auswählt. Der Code sollte dieses Tag haben:

Dame

Um den mit dem src-Attribut verknüpften Wert auszuführen, verwenden Sie Folgendes:

HTML-Inhalt.find(“img“)[“src“]

Und die Ausgabe würde wie folgt ausfallen:

"images_4/a-anfänger-guide-to-web-scraping-with-python-and-beautiful-suppe.jpg"

Oh Mann, das ist sicher eine Menge Arbeit!

Wenn Sie der Meinung sind, dass Ihre Kenntnisse mit Python oder HTML unzureichend sind oder Sie mit dem Web-Scraping einfach überfordert sind, machen Sie sich keine Sorgen.

Wenn Sie ein Unternehmen sind, das regelmäßig eine bestimmte Art von Daten erfassen muss, das Web-Scraping jedoch nicht selbst durchführen kann, gibt es Möglichkeiten, dieses Problem zu umgehen. Aber wissen Sie, dass es Sie etwas Geld kosten wird. Sie können jemanden finden, der das Scraping für Sie übernimmt, oder Sie können den Premium-Datendienst von Websites wie Google und Twitter anfordern, um die Daten mit Ihnen zu teilen. Diese teilen Teile ihrer Daten durch den Einsatz von APIs, aber diese API-Aufrufe sind pro Tag begrenzt. Abgesehen davon können Websites wie diese ihre Daten sehr schützen. Typischerweise geben viele dieser Websites überhaupt keine ihrer Daten weiter.

Abschließende Gedanken

Bevor wir zum Abschluss kommen, lassen Sie mich es Ihnen laut sagen, wenn es nicht schon selbstverständlich war; die Befehle find(), find_all() sind deine besten Freunde, wenn du mit BeautifulSoup unterwegs bist. Obwohl es beim Master Data Scraping mit Python noch viel mehr zu tun gibt, sollte dieser Leitfaden für diejenigen unter Ihnen ausreichen, die gerade erst anfangen.

Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...
Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...
Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...

Neueste Artikel zu Betriebssystemen. Viele interessante Ratgeber und nützliche Tipps. Fühlen Sie sich wie Ihr eigenes in der Welt der modernen Technologie