Crawlen beschreibt den Prozess, bei dem Daten aus einer Webseite extrahiert werden. Das Vorgehen ist meist wie folgt:
mit requests-Paket
import requests # requests importieren
url = "http://www.beispiel.de""
r = requests.get(url) # das 'r' steht für 'Response', kann aber durch jedes beliebiges Zeichen ersetzt werden
Die Anfrage wurde an den Server gestellt. Der Statuscode der Webseite kann genauer betrachtet werden. Wichtige HTTP Status-Codes sind:
print(r.status_code)
from bs4 import BeautifulSoup # BeautifulSoup importieren
doc = BeautifulSoup(r.text, "html.parser") # HTML-Datei mit BeautifulSoup Einlesen
Mit dem heruntergeladenen und eingelesenen HTML-Code können Elemente extrahiert werden. Dafür bieten sich CSS-Selektroen an. Beispiel:
<div class="test">Hallo</div>
: mit Hilfe von .test
finden, der Punkt steht hierbei für eine Klasse<div id="test">Hallo</div>
: mit Hilfe von #test
finden, die Raute steht hierbei für einID-Attributprint(doc.find_all("p"))
i = 0
for p in doc.find_all("p"): # im Dokument alle <p>-Konstruktoren finden
print(str(i) + ". " + p.text) # für alle <p> dessen Text ausgeben
i = i + 1