Scrapy ist ein Open-Source- und kollaboratives Framework, das entwickelt wurde, um die benötigten Daten von Websites auf effektive und flexible Weise zu extrahieren. Es wird von Zyte und vielen anderen Mitwirkenden gepflegt.
Die Installation von Scrapy ist einfach. Um die neueste Version von Scrapy (zum Beispiel Scrapy 2.11.2) zu installieren, kann man den Befehl pip install scrapy
im Terminal verwenden. Man kann auch mit PyPI oder Conda arbeiten und die Release Notes beachten.
Nach der Installation kann man damit beginnen, Web-Spider zu erstellen und auszuführen. Beispielsweise kann man in einem Python-Skript eine Klasse wie BlogSpider
definieren, die von scrapy.Spider
erbt. In dieser Klasse kann man die Start-URLs angeben und die Methode parse
implementieren, um die Daten aus der Website zu extrahieren und zu verarbeiten. So kann man beispielsweise die Titel von Blog-Posts auf einer bestimmten Website abrufen.
Scrapy bietet auch die Möglichkeit, die Spinnen auf verschiedenen Plattformen zu betreiben. Man kann sie auf Zyte Scrapy Cloud deployen oder mit Scrapyd auf einem eigenen Server hosten. Um die Spinnen auf Zyte Scrapy Cloud zu deployen, muss man zuerst shub
installieren und sich anmelden und dann seinen Zyte Scrapy Cloud API Key eingeben. Danach kann man die Spinnen mit shub deploy
deployen und mit shub schedule
planen und mit shub items
die gescrapeten Daten abrufen.
Scrapy hat viele Vorteile. Es ist schnell und mächtig. Man schreibt die Regeln zur Datenextraktion und Scrapy übernimmt den Rest. Es ist auch leicht erweiterbar. Durch die Design-Philosophie kann man neue Funktionen leicht hinzufügen, ohne die Kernkomponenten zu berühren. Außerdem ist es portabel, da es in Python geschrieben ist und auf Linux, Windows, Mac und BSD läuft. Und es hat eine lebendige Community mit vielen Sternen, Forks und Watchers auf GitHub, vielen Followern auf Twitter und vielen Fragen auf StackOverflow.
Insgesamt ist Scrapy ein hervorragendes Werkzeug für das Scraping und das Web-Crawling, das sowohl für Einzelpersonen als auch für Unternehmen von großem Nutzen ist.