Allgemeine Einführung
Crawlee ist eine Open-Source-Bibliothek für Web-Crawler und Browser-Automatisierung, die von Apify entwickelt und für die Node.js-Umgebung konzipiert wurde. Sie unterstützt JavaScript und TypeScript und arbeitet mit Tools wie Puppeteer, Playwright, Cheerio, JSDOM und anderen zusammen, um leistungsstarke Daten-Crawling- und Automatisierungsfunktionen bereitzustellen. Crawlee ermöglicht es Benutzern, zuverlässige Crawler zu erstellen, die die für AI, LLM, RAG oder GPTs benötigten Daten extrahieren und HTML, PDF, JPG, PNG und mehr herunterladen. Crawlee wurde entwickelt, um Crawler mehr wie menschliche Operationen aussehen zu lassen. Es ist in der Lage, moderne Anti-Crawler-Mechanismen zu umgehen, unterstützt Agentenrotation und Sitzungsmanagement und eignet sich für eine Vielzahl von komplexen Web-Crawling-Aufgaben.
Crawlee für Python ist offen für Early Adopters!
Funktionsliste
- Eine einzige Schnittstelle für HTTP und Headless Browser Crawling
- Dauerhafte URL-Crawling-Warteschlangen (breadth-first und depth-first)
- Steckbarer Daten- und Dateispeicher
- Automatische Skalierung je nach Systemressourcen
- Integrierte Agentenrotation und Sitzungsmanagement
- Lebenszyklus kann mit Hooks angepasst werden
- CLI-Tool für Bootstrapping-Projekte
- Konfigurierbares Routing, Fehlerbehandlung und Wiederholungsmechanismen
- Bereitstellen von Dockerdateien für die Bereitstellung
- Geschrieben in TypeScript mit generischer Unterstützung
- HTTP2-Unterstützung und automatische Generierung von Browser-ähnlichen Anfrage-Headern
- Integrierter schneller HTML-Parser (Cheerio und JSDOM)
- JSON API Crawl-Unterstützung
- JavaScript-Rendering und Screenshot-Unterstützung
- Unterstützung von Headless und Headed Mode
- Automatische Erzeugung von Fingerabdrücken im menschlichen Stil
- Einheitliche Schnittstelle mit Playwright und Puppeteer
- Unterstützt Chrome, Firefox, Webkit, etc.
Hilfe verwenden
Montage
Crawlee benötigt Node.js 16 oder höher. Mit dem folgenden Befehl können Sie schnell einen Beispiel-Crawler installieren und erstellen:
npx crawlee create my-crawler
cd my-crawler
npm starten
Wenn Sie eine manuelle Installation bevorzugen, können Sie den folgenden Befehl verwenden:
npm install crawlee playwright
Dann importieren Sie es und verwenden es in Ihrem Projekt:
import { PlaywrightCrawler, Datensatz } from 'crawlee' ;
const crawler = new PlaywrightCrawler({
async requestHandler({ request, page, enqueueLinks, log }) {
const title = await page.title();
log.info(`Titel von ${request.loadedUrl} ist '${title}'`);
await Dataset.pushData({ title, url: request.loadedUrl });
await enqueueLinks();
}, // kopflos: false, // UniqueLinks(); await enqueueLinks()
// headless: false, // Unkommentiert, um das Browserfenster zu sehen
}); await crawler.run['run']; }
await crawler.run(['https://crawlee.dev']);
Funktion Betriebsablauf
- Erstellen eines Crawler-ProjektsSchnelles Erstellen eines neuen Crawler-Projekts mit Hilfe der Crawlee CLI, die alle notwendigen Abhängigkeiten installiert und Beispielcode hinzufügt.
- Den Crawler konfigurierenKonfigurieren Sie in Ihrem Projekt die Logik der Crawler-Anfrageverarbeitung, den Speicherort der Daten, die Proxy-Einstellungen usw.
- Ausführen des CrawlersStarten Sie den Crawler von der Kommandozeile und Crawlee wird die Anfrage automatisch verarbeiten, die Daten erfassen und die Ergebnisse speichern.
- DatenspeicherungCrawlee speichert Daten standardmäßig im aktuellen Arbeitsverzeichnis in der Datei
. /Lagerung
kann dieses Verzeichnis durch eine Konfigurationsdatei überschrieben werden. - Erweiterte FunktionalitätHinzufügen von benutzerdefinierten Hooks, Fehlerbehandlungsmechanismen und Wiederholungsrichtlinien nach Bedarf, um die Stabilität und Zuverlässigkeit des Crawlers zu gewährleisten.
Proxy- und Sitzungsmanagement
Crawlee integriert Proxy-Rotation und Session-Management, um sicherzustellen, dass der Crawler während des Crawling-Prozesses nicht von der Ziel-Website blockiert wird. Proxy-Liste und Session-Parameter können über eine Konfigurationsdatei für die automatische Rotation und Verwaltung eingestellt werden.
Einsätze
Crawlee bietet Dockerdateien für die einfache Bereitstellung von Crawlern in der Cloud oder anderen Umgebungen. Docker-Container können mit den folgenden Befehlen erstellt und ausgeführt werden:
docker build -t my-crawler .
docker run my-crawler