- Crawlee ist eine Python-Bibliothek für Web-Scraping und Browser-Automatisierung
- Hilft dabei, schnell zuverlässige Crawler zu erstellen
- Kann für die Datenextraktion für AI, LLM, RAG und GPT verwendet werden
- Kann Dateien wie HTML, PDF, JPG und PNG von Websites herunterladen
- Funktioniert mit BeautifulSoup, Playwright und reinem HTTP
- Unterstützt sowohl den Headful- als auch den Headless-Modus
- Bietet Proxy-Rotation
Funktionen
- Einheitliche Schnittstelle für HTTP- und Headless-Browser-Crawling
- Führt automatisches paralleles Crawling auf Basis der verfügbaren Systemressourcen aus
- In Python mit Type Hints geschrieben, was die IDE-Autovervollständigung verbessert und Bugs reduziert
- Automatische Wiederholungsversuche bei Fehlern oder wenn eine Blockierung auftritt
- Integrierte Proxy-Rotation und Session-Management
- Konfigurierbares Request-Routing – leitet URLs direkt an den passenden Handler weiter
- Persistente Queue für zu crawlende URLs
- Plugin-fähiger Storage sowohl für tabellarische Daten als auch für Dateien
- Leistungsfähige Fehlerbehandlung
Unterschiede zu Scrapy
- Crawlee unterstützt standardmäßig Headless-Browser-Crawling mit Playwright
- Einfache und elegante Schnittstelle – ein Scraper lässt sich mit weniger als 10 Zeilen Code einrichten
- Vollständige Unterstützung von Type Hints
- Basiert auf Standard-Asyncio
Meinung von GN⁺
- Crawlee wirkt wie ein leistungsfähiges Tool für Web-Scraping und Crawling. Besonders die standardmäßige Unterstützung für Headless-Browser-basiertes Crawling erscheint als großer Vorteil.
- Durch die einfache Schnittstelle und den geringen Codeumfang scheint sich die Produktivität zu erhöhen. Außerdem verbessert der konsequente Einsatz von Type Hints die Developer Experience und senkt die Wahrscheinlichkeit von Fehlern.
- Für Projekte, die Crawling zur Datenextraktion benötigen, ist Crawlee eine ernsthafte Überlegung wert. Insbesondere wenn Web-Seiten gecrawlt werden müssen, die JavaScript-Rendering erfordern, dürfte
PlaywrightCrawler nützlich sein.
- Wenn jedoch sehr groß angelegtes Crawling erforderlich ist oder Echtzeitfähigkeit wichtig ist, kann es besser sein, Scrapy oder andere Tools mit Unterstützung für verteiltes Crawling zu verwenden.
- Es ist außerdem ratsam, vor dem Einsatz Crawling-Richtlinien und rechtliche Fragen sorgfältig zu prüfen.
2 Kommentare
Ich wusste, dass es Node unterstützt, aber offenbar jetzt auch Python. Wenn es ein Scraper ist, der kontinuierlich gewartet werden muss, sollte man ernsthaft darüber nachdenken, ein Framework zu verwenden, haha.
Hacker-News-Kommentare
Es ist wichtig, bestehende Funktionen zu dokumentieren. Egal wie großartig eine Web-Scraping-Plattform ist, wenn nur ihre Entwickler sie verstehen, ist sie nutzlos
tiered_proxy_urls: list[list[str]] | None = Noneschwer zu verstehenrobots.txt, HTTP- und Content-Tags. Das ist besonders seit der DSM-Richtlinie der EU wichtigDanke an Apify/Crawlee. Als langjähriger Node.js-Nutzer hat diese Bibliothek für mich am besten funktioniert
Ich bin bei der Suche nach einem Stack für ein Projekt auf Crawlee gestoßen. Ich wollte eigentlich eine Python-Bibliothek, habe aber Crawlee mit Typescript verwendet und das Projekt in einer Woche abgeschlossen
Ich frage mich, worin der Unterschied zu Scrapy besteht
Ich frage mich, warum man von anderen Bibliotheken wechseln sollte. Ich habe meinen eigenen Crawler gebaut, konnte aber nichts besonders Einzigartiges finden
Der moderne Python-Code sieht gut aus
const data = await crawler.get_data()wie Javascript aus. Es scheint, als fehle der UnterstrichIch schlage vor, mehr Code-Snippets aus den Testfällen als Dokumentationsbeispiele zu übernehmen. Gute Arbeit
Scraping-Tools sind immer willkommen. Ich werde es in einem privaten Projekt ausprobieren. Dank KI fühlt sich Scraping derzeit an, als würde man in einem Goldrausch Schaufeln verkaufen