Wenn Sie beispielsweise regelmäßige Updates für Ihre bevorzugten Produkte für Rabattangebote erhalten möchten oder den Prozess des Herunterladens von Episoden Ihrer bevorzugten Staffel von Staffel nacheinander automatisieren möchten, und die Website hat keine API dafür, dann die einzige Wahl Sie werden mit dem Web -Scraping übrig geblieben.Auf einigen Websites kann das Web -Scraping illegal sein, je nachdem, ob eine Website dies zulässt oder nicht. Websites verwenden „Roboter.TXT ”-Datei, um URLs explizit zu definieren, die nicht verschrottet werden dürfen. Sie können überprüfen, ob die Website dies zulässt oder nicht, indem Sie „Roboter angeben.txt ”mit dem Domain -Namen der Website. Zum Beispiel https: // www.Google.com/Roboter.txt
In diesem Artikel werden wir Python zum Scraping verwenden, weil es sehr einfach zu richten und zu verwenden ist. Es verfügt über viele integrierte und Drittbibliothekarien, die zum Abkratzen und Organisieren von Daten verwendet werden können. Wir werden zwei Python -Bibliotheken „Urllib“ verwenden, um die Webseite und „BeautifulSoup“ zu holen, um die Webseite zu analysieren, um Programmiervorgänge anzuwenden.
Wie Web -Scraping funktioniert?
Wir senden eine Anfrage an die Webseite, von wo aus Sie die Daten kratzen möchten. Die Website antwortet auf die Anfrage mit HTML -Inhalten der Seite. Dann können wir diese Webseite zur weiteren Verarbeitung auf BeautifulSoup analysieren. Um die Webseite zu holen, verwenden wir die "Urllib" -Bibliothek in Python.
Urllib lädt den Webseiteninhalt in HTML herunter. Wir können String -Operationen nicht auf diese HTML -Webseite für die Extraktion von Inhalten und weitere Verarbeitung anwenden. Wir werden eine Python -Bibliothek „BeautifulSoup“ verwenden, die den Inhalt analysiert und die interessanten Daten extrahiert.
Abkratzen von Artikeln von LinuxHint.com
Jetzt, da wir eine Vorstellung davon haben, wie Web -Scraping funktioniert, lassen Sie uns etwas Übung machen. Wir werden versuchen, Artikel und Links von LinuxHint zu kratzen.com. Öffnen Sie also https: // linuxhint.com/ in Ihrem Browser.
Drücken Sie nun CRTL+U, um den HTML -Quellcode der Webseite anzuzeigen.
Kopieren Sie den Quellcode und wechseln Sie zu https: // htmlFormatter.com/ um den Code zu tun. Nachdem Sie den Code geschrieben haben, ist es einfach, den Code zu inspizieren und interessante Informationen zu finden.
Kopieren Sie jetzt erneut den formatierten Code und fügen Sie ihn in Ihren bevorzugten Texteditor wie Atom, Sublime Text usw. ein. Jetzt werden wir die interessanten Informationen mit Python kratzen. Geben Sie Folgendes ein
// Die schöne Suppenbibliothek installieren, urllib kommtGeben Sie "Hilfe", "Copyright", "Credits" oder "Lizenz" für weitere Informationen ein.
// UrlliB importierenSchauen wir uns nun den HTML -Quellcode an, den wir gerade kopiert und eingefügt haben, um Dinge von unserem Interesse zu finden.
Sie können sehen, dass der erste Artikel unter LinuxHint aufgeführt ist.COM wird als „Beispiele für Bash -Operatoren“ bezeichnet. Finden Sie dies im Quellcode. Es ist zwischen Header -Tags eingeschlossen und sein Code ist
Titel = "74 Bash -Operatoren Beispiele"> 74 Bash -Operatoren
Beispiele
Der gleiche Code wiederholt sich immer und immer wieder mit der Änderung von Just -Artikel -Titeln und Links. Der nächste Artikel enthält den folgenden HTML -Code
Sie können sehen, dass alle Artikel, einschließlich dieser beiden, darin eingeschlossen sind “
"Tag und verwenden Sie dieselbe Klasse" Einstiegstitle ". Wir können die „Findall“ -Funktion in der schönen Suppenbibliothek verwenden, um alle zu finden und aufzulisten. “
"Mit der Klasse" Einstiegstitel ". Geben Sie Folgendes in Ihre Python -Konsole ein
// Dieser Befehl findet alle “”Tagelemente mit der genannten Klasse
"Einstiegstitel". Die Ausgabe wird in einem Array gespeichert.
>>> Artikel = page_soup.Findall ("H2" ,
"Klasse": "Eintragungstitel")
// Die Anzahl der Artikel auf der Titelseite von LinuxHint gefunden.com
>>> len (Artikel)
102
// zuerst extrahiert "
”Tagelement, das den Artikelnamen und der Link enthält
>>> Artikel [0]
title = "74 Bash -Operatoren Beispiele">
74 Beispiele für Bash -Operatoren
”Tagelement, das den Artikelnamen und der Link enthält
>>> Artikel [1]
Jetzt, da wir eine Liste aller 102 HTML haben “
Tagelemente, die Artikellink und Artikeltitel enthält. Wir können beide Artikellinks und Titel extrahieren. Um Links aus "” -Tags zu extrahieren, können wir den folgenden Code verwenden
// Der folgende Code extrahiert den Link vom ersten zuerst Tagelement
>>> Für Link in Artikeln [0].find_all ('a', href = true):
… Print (link ['href'])
…
https: // linuxHint.com/bash_operator_examples/
Jetzt können wir eine für die Schleife schreiben, die durch alle Ierates iteriert “
"Tagelement in" Artikeln "-Liste und extrahieren Sie den Artikellink und den Titel" Artikel ".
>>> für i im Bereich (0,10):In ähnlicher Weise speichern Sie diese Ergebnisse in einer JSON- oder CSV -Datei.
Abschluss
Ihre täglichen Aufgaben sind nicht nur Dateiverwaltung oder Systembefehlsausführung nicht. Sie können auch Web -verwandte Aufgaben wie Datei -Download -Automatisierung oder Datenextraktion automatisieren, indem Sie das Web in Python abkratzen. Dieser Artikel war nur auf einfache Datenextraktion beschränkt, aber Sie können eine große Aufgabenautomatisierung mit „Urllib“ und „BeautifulSoup“ durchführen.