Das World Wide Web besteht aus Mil­li­ar­den un­ter­ein­an­der ver­link­ter Dokumente, weithin bekannt als Webseiten. Der Quelltext der Webseiten ist in der Sprache Hypertext Markup Language (HTML) ge­schrie­ben. Beim HTML-Quelltext handelt es sich um eine Mischung von men­schen­les­ba­ren In­for­ma­tio­nen und ma­schi­nen­les­ba­ren Codes, den so­ge­nann­ten Tags. Der Web­brow­ser – z. B. Chrome, Firefox, Safari oder Edge – ver­ar­bei­tet den Quelltext, in­ter­pre­tiert die Tags und stellt die darin ent­hal­te­nen In­for­ma­tio­nen für den Nutzer dar.

Um gezielt nur die für Menschen in­ter­es­san­ten In­for­ma­tio­nen aus dem Quelltext zu ex­tra­hie­ren, bedient man sich spe­zi­el­ler Software. Diese als „Web Scraper“, „Crawler“, „Spider“ oder einfach „Bot“ bekannten Programme durch­su­chen den Quelltext von Webseiten nach vor­ge­ge­be­nen Mustern und ex­tra­hie­ren die darin ent­hal­te­nen In­for­ma­tio­nen. Die durch Web Scraping ge­won­ne­nen In­for­ma­tio­nen werden zu­sam­men­ge­fasst, kom­bi­niert, aus­ge­wer­tet oder für weitere Ver­wen­dung ge­spei­chert.

Im Folgenden erklären wir, warum sich die Sprache Python besonders gut für das Erstellen von Web Scrapern eignet, und geben Ihnen mit einem ent­spre­chen­den Tutorial eine Ein­füh­rung.

Website mit eigener Domain – MyWebsite Now
Erstellen Sie Ihre eigene Website in wenigen Minuten
  • Pro­fes­sio­nel­le Templates
  • Än­de­run­gen am Design mit nur einem Klick
  • Domain, SSL und E-Mail-Postfach inklusive

Warum gerade Python für Web Scraping nutzen?

Die beliebte Pro­gram­mier­spra­che Python eignet sich gut für die Er­stel­lung von Web-Scraping-Software. Da Websites laufend angepasst werden, ändern sich Web­in­hal­te über die Zeit. Bei­spiels­wei­se wird das Design angepasst oder es werden neue Sei­ten­be­stand­tei­le hin­zu­ge­fügt. Ein Web Scraper wird für die spe­zi­fi­sche Struktur einer Seite ge­schrie­ben. Ändert sich die Struktur der Seite, muss der Scraper angepasst werden. Das geht mit Python besonders einfach.

Ferner ist Python aus­ge­spro­chen stark in den Bereichen Text­ver­ar­bei­tung und Abruf von Web­res­sour­cen; beides sind tech­ni­sche Grund­la­gen für Web Scraping. Darüber hinaus ist Python ein eta­blier­ter Standard für Da­ten­ana­ly­se und -ver­ar­bei­tung. Neben der ge­ne­rel­len Eignung der Sprache besticht Python durch ein blühendes Pro­gram­mier-Ökosystem. Dazu zählen Bi­blio­the­ken, Open-Source-Projekte, Do­ku­men­ta­ti­on und Sprach­re­fe­renz sowie Foren-Beiträge, Bu­g­re­ports und Blog­ar­ti­kel.

Speziell exis­tie­ren mehrere weit aus­ge­reif­te Tools für das Web Scraping mit Python. Wir stellen hier die drei bekannten Tools Scrapy, Selenium, und Beau­tiful­Soup vor. Als prak­ti­sche Übung können Sie unser Web-Scraping-mit-Python-Tutorial auf Basis von Beau­tiful­Soup nutzen. So können Sie den Scraping-Prozess ganz un­mit­tel­bar nach­voll­zie­hen.

Web Scraping im Überblick

Das grund­le­gen­de Schema des Scraping-Vorgangs ist schnell erklärt. Zunächst ana­ly­siert der Scraper-Ent­wick­ler den HTML-Quelltext der in­ter­es­san­ten Seite. Für ge­wöhn­lich finden sich ein­deu­ti­ge Muster, nach denen sich die ge­wünsch­ten In­for­ma­tio­nen ex­tra­hie­ren lassen. Für diese Muster wird der Scraper pro­gram­miert. Der Rest der Arbeit wird vom Scraper au­to­ma­ti­siert geleistet:

  1. Webseite unter URL-Adresse abrufen
  2. Au­to­ma­ti­siert struk­tu­rier­te Daten den Mustern ent­spre­chend ex­tra­hie­ren
  3. Die ex­tra­hier­ten In­for­ma­tio­nen zu­sam­men­fas­sen, speichern, auswerten, kom­bi­nie­ren etc.

An­wen­dungs­fäl­le für Web Scraping

Das Web Scraping ist viel­sei­tig anwendbar. Außer zur Such­ma­schi­nen-In­di­zie­rung wird Web Scraping u. a. für die folgenden Zwecke verwendet:

  • Kon­takt­da­ten­ban­ken erstellen
  • Preise von Online-Angeboten über­wa­chen und ver­glei­chen
  • Daten aus ver­schie­de­nen On­line­quel­len zu­sam­men­füh­ren
  • On­line­prä­senz und -re­pu­ta­ti­on verfolgen
  • Finanz-, Wetter- und andere Daten sammeln
  • Web­in­hal­te auf Än­de­run­gen über­wa­chen
  • Daten zu For­schungs­zwe­cken sammeln
  • Data Mining durch­füh­ren

Ein an­schau­li­ches Web-Scraping-Beispiel

Stellen Sie sich eine Website vor, auf der Ge­braucht­wa­gen zum Kauf angeboten werden. Wenn Sie die Seite im Browser ansteuern, wird Ihnen eine Liste von Autos angezeigt. Be­trach­ten wir ex­em­pla­risch den Quelltext für den Eintrag eines Autos:

raw_html = """
<h1>Gebrauchtwagen zum Kauf</h1>
<ul class="cars-listing">
    <li class="car-listing">
        <div class="car-title">
            Volkswagen Käfer
        </div>
        <div class="car-description">
            <span class="car-make">Volkswagen</span>
            <span class="car-model">Käfer</span>
            <span class="car-build">1973</span>
        </div>
        <div class="sales-price">
            € <span class="car-price">14.998,—</span>
        </div>
    </li>
</ul>
    
 """

Ein Web Scraper kann die online ver­füg­ba­re Auf­lis­tung von Ge­braucht­wa­gen durch­su­chen. Je nach Absicht des Er­stel­lers sucht der Scraper nach einem be­stimm­ten Modell; in unserem Beispiel handelt es sich um einen Volks­wa­gen Käfer. Im Quelltext sind die Angaben für Marke und Modell des Autos mit den CSS-Klassen 'car-make' und 'car-model' aus­ge­zeich­net. Mithilfe der Klas­sen­na­men lassen sich die ge­wünsch­ten In­for­ma­tio­nen leicht scrapen. Hier ein Beispiel mit Beau­tiful­Soup:

# den in raw_html gespeicherten HTML-Quelltext parsen
html = BeautifulSoup(raw_html, 'html.parser')
# den Inhalt des Tags mit Klasse 'car-title' extrahieren
car_title = html.find(class_ = 'car-title').text.strip()
# falls es sich bei diesem Auto um einen Volkswagen Käfer handelt
if (car_title == 'Volkswagen Käfer'):
    # vom Titel des Autos zum umschließenden <li>-Tag aufsteigen
    html.find_parent('li')
    
    # den Preis des Autos ermitteln
    car_price = html.find(class_ = 'sales-price').text.strip()
    
    # den Preis des Autos ausgeben
    print(car_price)

Ju­ris­ti­sche Risiken beim Web Scraping

So praktisch das Web Scraping ist, es birgt auch ju­ris­ti­sche Risiken. Da der Website-Betreiber seine Seite ei­gent­lich für die Nutzung durch Menschen be­reit­stellt, kann ein au­to­ma­ti­sier­ter Abruf mittels Web Scraper einen Verstoß gegen die Nut­zungs­be­din­gun­gen dar­stel­len. Ins­be­son­de­re trifft dies dann zu, wenn der Abruf in hohem Volume auf mehrere Seiten gleich­zei­tig oder in hoher Folge statt­fin­det. Ein Mensch könnte nicht auf diese Weise mit der Site in­ter­agie­ren.

Ferner stellt das au­to­ma­ti­sier­te Abrufen, Speichern und Auswerten der auf einer Website pu­bli­zier­ten Daten ggf. eine Ver­let­zung des Ur­he­ber­rechts dar. Handelt es sich bei den ge­scrap­ten In­for­ma­tio­nen um per­sön­lich iden­ti­fi­zier­ba­re Daten, verstößt die Spei­che­rung und Aus­wer­tung ohne Zu­stim­mung der Be­trof­fe­nen gegen geltende Be­stim­mun­gen zum Da­ten­schutz. So ist es bei­spiels­wei­se nicht erlaubt, Facebook-Profile zu scrapen, um per­so­nen­be­zo­ge­ne Daten zu sammeln.

Hinweis

Bei Verstößen gegen Da­ten­schutz und Ur­he­ber­recht drohen emp­find­li­che Strafen. Stellen Sie also sicher, dass Sie gegen keinerlei Gesetze verstoßen, wenn Sie Web Scraping einsetzen möchten. Vor­han­de­ne tech­ni­sche Sperren dürfen kei­nes­falls umgangen werden.

Tech­ni­sche Be­schrän­kun­gen des Web Scrapings

Website-Betreiber haben oft ein Interesse daran, das au­to­ma­ti­sier­te Scraping ihrer Online-Angebote zu li­mi­tie­ren. Zum einen kann der mas­sen­haf­te Zugriff auf die Website durch Scraper sich negativ auf die Per­for­manz der Site auswirken. Zum anderen gibt es oft interne Bereiche einer Website, die nicht in Such­ergeb­nis­sen auf­tau­chen sollen.

Zur Li­mi­tie­rung der Zugriffe durch Scraper hat sich der Standard robots.txt etabliert: Der Website-Betreiber legt eine Textdatei namens robots.txt im Haupt­ver­zeich­nis der Website ab. Innerhalb der Datei wird über spezielle Einträge fest­ge­legt, welche Scraper bzw. Bots auf welche Bereiche der Website zugreifen dürfen. Die Einträge der robots.txt gelten dabei immer für eine gesamte Domäne.

Hier ein Beispiel für eine robots.txt-Datei, die das Scraping durch jegliche Bots auf der gesamten Site untersagt:

# Jeglicher Bot
User-agent: *
# Gesamtes Hauptverzeichnis ausschließen
Disallow: /

Bei der robots.txt handelt es sich um eine frei­wil­li­ge Be­schrän­kung. Die Bots sollen sich zwar an die Vorgaben halten; technisch erzwingen lässt sich dies jedoch nicht. Um den Zugriff durch Web Scraper effektiv zu re­gu­lie­ren, setzen Website-Betreiber daher auch ag­gres­si­ve­re Techniken ein: Zum einen lässt sich der Zugriff durch Web Scraper per Durch­satz­be­gren­zung li­mi­tie­ren; zum anderen kann bei wie­der­hol­tem Zugriff entgegen der Vorgaben die IP-Adresse des Scrapers blockiert werden.

APIs als Al­ter­na­ti­ve zum Web Scraping

Auch wenn das Web Scraping nützlich ist, handelt es sich nicht um den be­vor­zug­ten Ansatz, Daten von Websites zu beziehen. Oft gibt es einen besseren Weg: Viele Website-Betreiber stellen Daten in einem struk­tu­rier­ten, ma­schi­nen­les­ba­ren Format zur Verfügung. Auf die Daten wird über spezielle Pro­gram­mier­schnitt­stel­len zu­ge­grif­fen, die so­ge­nann­ten Ap­pli­ca­ti­on Pro­gramming In­ter­faces (APIs).

Die Vorteile, die sich durch Nutzung einer API ergeben, sind bedeutend:

  • Die API wird vom Anbieter explizit für den Zugriff auf die Daten zur Verfügung gestellt: Somit ergeben sich weniger ju­ris­ti­sche Risiken und der Anbieter kann den Zugriff auf die Daten besser regeln. Z. B. kann für den Da­ten­zu­griff ein API-Schlüssel verlangt werden. Auch die Durch­satz­be­gren­zung lässt sich vom Anbieter präziser umsetzen.
  • Die API liefert die Daten gleich in einem ma­schi­nen­les­ba­ren Format aus: Damit entfällt das mühselige Ex­tra­hie­ren der Daten aus dem Quelltext. Ferner wird die Struktur der Daten von der visuellen Re­prä­sen­ta­ti­on getrennt. So bleibt die Struktur auch bei Änderung des Website-Designs bestehen.

Sofern eine API verfügbar ist und voll­stän­di­ge Daten liefert, ist diese der be­vor­zug­te Weg, auf Daten zu­zu­grei­fen. Dennoch gilt: Mit Scraping lassen sich prin­zi­pi­ell alle Texte abgreifen, die für Menschen lesbar auf Webseiten prä­sen­tiert werden.

Python-Web-Scraping-Tools

Im Python-Ökosystem exis­tie­ren mehrere eta­blier­te Tools für die Umsetzung eines Web-Scraping-Projekts:

  • Scrapy
  • Selenium
  • Beau­tiful­Soup

Wir gehen im Weiteren auf die Vor- und Nachteile der drei Tech­no­lo­gien ein.

Web Scraping mit Scrapy

Das Python-Web-Scraping-Tool Scrapy nutzt einen HTML-Parser, um In­for­ma­tio­nen aus dem HTML-Quelltext der Seite zu ex­tra­hie­ren. Es ergibt sich das folgende Schema für das Web Scraping mit Scrapy:

URL → HTTP-Request → HTML → Scrapy

Das Kern­kon­zept der Scraper-Ent­wick­lung mit Scrapy sind die „Web Spider“ genannten Scraper. Dabei handelt es sich um kleine, auf Scrapy auf­bau­en­de Programme. Jeder Spider ist für das Scraping einer be­stimm­ten Website pro­gram­miert und hangelt sich wie die na­mens­ge­ben­de Spinne von Seite zu Seite. Dabei kommt ob­jekt­ori­en­tier­te Pro­gram­mie­rung zum Einsatz: Jeder Spider ist eine eigene Python-Klasse.

Neben dem ei­gent­li­chen Python-Paket bringt die Scrapy-In­stal­la­ti­on ein Kom­man­do­zei­len-Tool mit. Über diese Scrapy Shell werden die Spider gesteuert. Ferner lassen sich exis­tie­ren­de Spider in die Scrapy Cloud hochladen. Dort werden die Spider mit einem Ter­min­plan versehen aus­ge­führt. So können auch große Sites gescrapt werden, ohne dass dafür der eigene Rechner und die heimische In­ter­net­ver­bin­dung herhalten müssen. Al­ter­na­tiv lässt sich ein eigener Web-Scraping-Server mit der Open-Source-Software Scrapyd aufsetzen.

Bei Scrapy handelt es sich um eine aus­ge­reif­te Plattform, um Web Scraping mit Python durch­zu­füh­ren. Die Ar­chi­tek­tur des Tools ori­en­tiert sich an den Be­dürf­nis­sen pro­fes­sio­nel­ler Projekte. So enthält Scrapy eine in­te­grier­te Pipeline zur Ver­ar­bei­tung der ge­scrap­ten Daten. Der Sei­ten­ab­ruf in Scrapy erfolgt asynchron; das bedeutet, dass mehrere Seiten parallel her­un­ter­ge­la­den werden können. Somit eignet sich Scrapy gut für Scraping-Projekte mit einem hohen Volumen an zu ver­ar­bei­ten­den Seiten.

Web Scraping mit Selenium

Die freie Software Selenium ist ein Framework für au­to­ma­ti­sier­te Software-Tests von Web­an­wen­dun­gen. Ei­gent­lich zum Testen von Webseiten und Web-Apps ent­wi­ckelt, lässt sich der Selenium WebDriver mit Python auch zum Scrapen von Websites verwenden. Obwohl Selenium selbst nicht in Python ge­schrie­ben ist, lässt sich auf die Funk­tio­na­li­tät der Software aus Python heraus zugreifen.

Anders als Scrapy oder Beau­tiful­Soup operiert Selenium nicht auf dem HTML-Quelltext der Seite. Statt­des­sen wird die Seite in einem Browser ohne Be­nut­zer­ober­flä­che geladen. Der Browser in­ter­pre­tiert den Quelltext der Seite und erzeugt daraus ein Document Object Model (DOM). Diese stan­dar­di­sier­te Schnitt­stel­le erlaubt das Testen von Be­nut­zer­inter­ak­tio­nen: So lassen sich u. a. Klicks si­mu­lie­ren und Formulare au­to­ma­ti­siert ausfüllen. Die sich daraus er­ge­ben­den Än­de­run­gen an der Seite spiegeln sich im DOM wider. Es ergibt sich das folgende Schema für das Web Scraping mit Selenium:

URL → HTTP-Request → HTML → Selenium → DOM

Da das DOM dynamisch erzeugt wird, lassen sich mit Selenium auch Seiten scrapen, deren Inhalte über Ja­va­Script erzeugt wurden. Der Zugriff auf dy­na­mi­sche Inhalte ist der ent­schei­den­de Vorteil von Selenium. Prak­ti­scher­wei­se lässt sich Selenium auch in Kom­bi­na­ti­on mit Scrapy oder Beau­tiful­Soup einsetzen. Selenium liefert dabei den Quelltext, während das zweite Tool das Parsen und Auswerten übernimmt. In diesem Fall ergibt sich das folgende Schema:

URL → HTTP-Request → HTML → Selenium → DOM → HTML → Scrapy / Beau­tiful­Soup

Web Scraping mit Beau­tiful­Soup

Beau­tiful­Soup ist das älteste der vor­ge­stell­ten Python-Web-Scraping-Tools. Wie bei Scrapy handelt es sich um einen HTML-Parser. Es ergibt sich das folgende Schema für das Web Scraping mit Beau­tiful­Soup:

URL → HTTP-Request → HTML → Beau­tiful­Soup

Im Gegensatz zu Scrapy erfordert die Scraper-Ent­wick­lung mit Beau­tiful­Soup keine ob­jekt­ori­en­tier­te Pro­gram­mie­rung. Statt­des­sen wird ein Scraper als einfaches Skript ge­schrie­ben. Somit handelt es sich bei Beau­tiful­Soup um den wohl ein­fachs­ten Weg, gezielt In­for­ma­tio­nen aus der „Tag-Suppe“ zu fischen.

Python-Web-Scraping-Tools im Vergleich

Jedes der drei vor­ge­stell­ten Tools hat seine Vor- und Nachteile. Wir haben diese für Sie über­sicht­lich zu­sam­men­ge­fasst:

Scrapy Selenium Beau­tiful­Soup
Einfach zu erlernen ++ + +++
Dy­na­mi­sche Inhalte auslesen ++ +++ +
Komplexe An­wen­dun­gen rea­li­sie­ren +++ + ++
Ro­bust­heit gegenüber HTML-Fehlern ++ + +++
Für Scraping-Per­for­manz optimiert +++ + +
Aus­ge­präg­tes Ökosystem +++ + ++
Fazit

Welches Tool sollten Sie nun für Ihr Projekt verwenden? Kurz gesagt: Nehmen Sie Beau­tiful­Soup, wenn die Ent­wick­lung schnell gehen soll oder Sie sich erst einmal mit den Themen Python und Web Scraping vertraut machen möchten. Mit Scrapy lassen sich an­spruchs­vol­le Web-Scraping-An­wen­dun­gen in Python rea­li­sie­ren – das ent­spre­chen­de Know-how vor­aus­ge­setzt. Greifen Sie auf Selenium zurück, wenn es Ihnen primär darum geht, dy­na­mi­sche Inhalte mit Python zu scrapen.

Web Scraping mit Python und Beau­tiful­Soup – ein Tutorial

Hier zeigen wir Ihnen, wie Sie mit Beau­tiful­Soup Daten aus einer Webseite ex­tra­hie­ren können. Zunächst müssen Sie Python und einige Hilfs­mit­tel in­stal­lie­ren. Sie benötigen:

  • Python ab Version 3.4
  • Den Python-Pa­ket­ma­na­ger pip
  • Das venv-Modul

Bitte befolgen Sie zur In­stal­la­ti­on die An­wei­sun­gen auf der Python-In­stal­la­ti­ons-Seite.

Sofern Sie auf Ihrem System den freien Pa­ket­ma­na­ger Homebrew in­stal­liert haben, können Sie Python auch mit dem folgenden Befehl in­stal­lie­ren:

brew install python
Hinweis

Die nach­fol­gen­den Er­klä­run­gen und der ab­ge­bil­de­te Code beziehen sich auf Python 3 unter macOS. Prin­zi­pi­ell sollte der Code auch auf anderen Be­triebs­sys­te­men laufen. Es kann jedoch sein, dass Sie einige An­pas­sun­gen vornehmen müssen, ins­be­son­de­re, wenn Sie Windows verwenden.

Python-Web-Scraping-Projekt auf dem eigenen Gerät ein­rich­ten

Wir wollen den Pro­jekt­ord­ner web Scraper für das Python Tutorial auf dem Desktop anlegen. Öffnen Sie eine Kom­man­do­zei­le (Terminal.App auf dem Mac), kopieren Sie die folgenden Code­zei­len in das Terminal und führen Sie diese aus:

# In den Desktop-Ordner wechseln
cd ~/Desktop/
# Projektverzeichnis anlegen
mkdir ./web Scraper/ && cd ./web Scraper/
# Virtuelle Umgebung anlegen
# stellt u. a. sicher, dass später pip3 verwendet wird
python3 -m venv ./env
# Virtuelle Umgebung aktivieren
source ./env/bin/activate
# Pakete installieren
pip install requests
pip install beautifulsoup4

Mit Python und Beau­tiful­Soup Zitate und Autoren scrapen

Die Website Quotes to Scrape stellt eine Auswahl an Zitaten zur Verfügung. Dabei handelt es sich um ein Angebot speziell für Scraping-Tests. So müssen wir uns keine Sorgen machen, gegen Nut­zungs­be­din­gun­gen zu verstoßen.

Lassen Sie uns beginnen. Öffnen Sie eine Kom­man­do­zei­le (Terminal.App auf dem Mac) und starten Sie den Python-In­ter­pre­ter aus Ihrem Python-Pro­jekt­ord­ner web Scraper. Kopieren Sie dafür die folgenden Code­zei­len in das Terminal und führen Sie diese aus:

# Zum Projektverzeichnis wechseln
cd ~/Desktop/web Scraper/
# Virtuelle Umgebung aktivieren
source ./env/bin/activate
# Python-Interpreter starten
# da wir uns in der virtuellen Umgebung befinden, wird python3 verwendet
python

Kopieren Sie nun den folgenden Code und fügen Sie diesen im Python-In­ter­pre­ter in die Kom­man­do­zei­le ein. Drücken Sie dann Enter – ggf. mehrmals –, um den Code aus­zu­füh­ren. Sie können den Code auch als Datei scrape_quotes.py in Ihrem Pro­jekt­ord­ner web Scraper speichern. In diesem Fall können Sie das Python-Script mit dem Befehl python scrape_quotes.py ausführen.

Als End­re­sul­tat der Code-Aus­füh­rung sollte in Ihrem Python-Pro­jekt­ord­ner web Scraper eine Datei zitate.csv abgelegt werden. Dabei handelt es sich um eine Tabelle mit den Zitaten und Autoren. Öffnen Sie die Datei mit einem Ta­bel­len­kal­ku­la­ti­ons­pro­gramm Ihrer Wahl.

# Module importieren
import requests
import csv
from bs4 import BeautifulSoup
# Adresse der Webseite
url = "http://quotes.toscrape.com/"
# GET-Request ausführen
response = requests.get(url)
# BeautifulSoup HTML-Dokument aus dem Quelltext parsen
html = BeautifulSoup(response.text, 'html.parser')
# Alle Zitate und Autoren aus dem HTML-Dokument extrahieren
quotes_html = html.find_all('span', class_="text")
authors_html = html.find_all('small', class_="author")
# Die Zitate in einer Liste sammeln
quotes = list()
for quote in quotes_html:
    quotes.append(quote.text)
# Die Autoren in einer Liste sammeln
authors = list()
for author in authors_html:
    authors.append(author.text) 
# Zum Testen: Einträge beiden Listen kombinieren und ausgeben
for t in zip(quotes, authors):
print(t)
# Die Zitate und Autoren in einer CSV-Datei im aktuellen Verzeichnis speichern
# Öffnen Sie die Datei mit Excel / LibreOffice, etc.
with open('./zitate.csv', 'w') as csv_file:
    csv_writer = csv.writer(csv_file, dialect='excel')
    csv_writer.writerows(zip(quotes, authors))

Python-Pakete für Web Scraping nutzen

Jedes Web-Scraping-Projekt ist anders: Mal wollen Sie eine Seite bloß auf Än­de­run­gen über­prü­fen; ein andermal geht es Ihnen um komplexe Aus­wer­tun­gen. Unter Python steht Ihnen eine große Auswahl an Paketen zur Verfügung.

  1. Pakete auf der Kom­man­do­zei­le mit pip3 in­stal­lie­ren.
pip3 install <package></package>
  1. Module innerhalb des Python-Scripts mit import einbinden.
from <package> import <module></module></package>

Die folgenden Pakete finden oft Ver­wen­dung in Web-Scraping-Projekten:

Paket Ver­wen­dung
venv Virtuelle Umgebung für Projekt verwalten
request Webseiten abrufen
lxml Al­ter­na­ti­ven Parser für HTML und XML nutzen
csv Ta­bel­la­ri­sche Daten im CSV-Format lesen und schreiben
pandas Daten ver­ar­bei­ten und auswerten
scrapy Scrapy verwenden
selenium Selenium WebDriver verwenden
Tipp

Nutzen Sie den Python Package Index (PyPI) für eine Übersicht ver­füg­ba­rer Python-Pakete.

Bitte beachten Sie den recht­li­chen Hinweis zu diesem Artikel.

Zum Hauptmenü