Home
Login

Ein Open-Source-Hochleistungs-Web-Crawler und Datenextraktionstool, optimiert für LLMs und KI-Agenten

Apache-2.0Python 46.0kunclecode Last Updated: 2025-06-18

Crawl4AI - Open-Source-Web-Crawler, optimiert speziell für LLMs

Projektübersicht

Crawl4AI ist ein schneller, KI-fähiger Web-Crawler, der speziell auf LLMs, KI-Agenten und Datenpipelines zugeschnitten ist. Das Projekt ist vollständig Open Source, flexibel und auf Echtzeit-Performance ausgelegt und bietet Entwicklern unübertroffene Geschwindigkeit, Präzision und Bereitstellungsfreundlichkeit.

Kernfunktionen

🤖 Speziell für LLMs entwickelt

  • Generiert intelligentes, übersichtliches Markdown, optimiert für RAG- und Feinabstimmungsanwendungen
  • Bietet saubere, strukturierte Inhalte, die für die Verarbeitung durch KI-Modelle geeignet sind
  • Unterstützt alle LLMs (Open Source und proprietär) für die Extraktion strukturierter Daten

⚡ Blitzschnelle Geschwindigkeit

  • Bietet 6x schnellere Ergebnisse mit Echtzeit- und kosteneffizienter Leistung
  • Basiert auf einer asynchronen Architektur, die massive Parallelverarbeitung unterstützt
  • Speicheradaptiver Scheduler, der die Parallelität dynamisch an den Systemspeicher anpasst

🌐 Flexible Browsersteuerung

  • Sitzungsverwaltung, Proxy-Unterstützung und benutzerdefinierte Hooks
  • Unterstützt eigene Browser der Benutzer, vollständige Kontrolle, Vermeidung von Bot-Erkennung
  • Browser-Profilverwaltung, Speichern von Authentifizierungsstatus, Cookies und Einstellungen
  • Unterstützt Chromium, Firefox und WebKit Multi-Browser

🧠 Heuristische Intelligenz

  • Verwendet fortschrittliche Algorithmen für eine effiziente Extraktion, wodurch die Abhängigkeit von teuren Modellen reduziert wird
  • BM25-Algorithmusfilterung, extrahiert Kerninformationen und entfernt irrelevante Inhalte
  • Intelligente Inhaltsbereinigung und Rauschunterdrückung

Hauptfunktionsmodule

📝 Markdown-Generierung

  • Sauberes Markdown: Generiert genau formatierte, strukturierte Markdown-Dateien
  • Angepasstes Markdown: Basiert auf heuristischer Filterung, entfernt Rauschen und irrelevante Teile
  • Zitate und Referenzen: Konvertiert Seitenlinks in nummerierte Referenzlisten mit sauberen Zitaten
  • Benutzerdefinierte Strategien: Benutzer können Markdown-Generierungsstrategien erstellen, die auf spezifische Anforderungen zugeschnitten sind

📊 Strukturierte Datenextraktion

  • LLM-gesteuerte Extraktion: Unterstützt alle LLMs für die Extraktion strukturierter Daten
  • Chunking-Strategien: Ermöglicht Chunking (basierend auf Thema, regulären Ausdrücken, Satzebene) zur gezielten Inhaltsverarbeitung
  • Kosinusähnlichkeit: Findet relevante Inhaltsblöcke basierend auf Benutzerabfragen zur semantischen Extraktion
  • CSS-Selektor-Extraktion: Verwendet XPath- und CSS-Selektoren für die schnelle Muster-Extraktion
  • Schemadefinition: Definiert benutzerdefinierte Schemata, um strukturierte JSON-Daten aus wiederholten Mustern zu extrahieren

🔎 Crawling- und Scraping-Funktionen

  • Medienunterstützung: Extrahiert Bilder, Audio, Video und responsive Bildformate
  • Dynamisches Crawling: Führt JavaScript aus und wartet auf asynchrone/synchrone dynamische Inhalts-Extraktion
  • Screenshot-Funktion: Erfasst während des Crawling-Prozesses Screenshots von Seiten zur Fehlersuche oder Analyse
  • Rohdaten-Crawling: Verarbeitet direkt rohes HTML oder lokale Dateien
  • Umfassende Link-Extraktion: Extrahiert interne, externe Links und eingebettete iFrame-Inhalte
  • Anpassbare Hooks: Definiert in jedem Schritt Hooks, um das Crawling-Verhalten anzupassen
  • Caching-Mechanismus: Cacht Daten, um die Geschwindigkeit zu erhöhen und doppelte Abrufe zu vermeiden
  • Lazy-Loading-Verarbeitung: Wartet, bis Bilder vollständig geladen sind, um sicherzustellen, dass keine Inhalte aufgrund von Lazy Loading übersehen werden

🚀 Bereitstellung und Integration

  • Dockerisierte Einrichtung: Optimierte Docker-Images mit FastAPI-Server zur einfachen Bereitstellung
  • Sichere Authentifizierung: Integrierte JWT-Token-Authentifizierung zur Gewährleistung der API-Sicherheit
  • API-Gateway: Ein-Klick-Bereitstellung mit sicherer Token-Authentifizierung für API-Workflows
  • Skalierbare Architektur: Speziell für die großvolumige Produktion entwickelt, optimiert die Serverleistung
  • Cloud-Bereitstellung: Bietet sofort einsatzbereite Bereitstellungskonfigurationen für wichtige Cloud-Plattformen

Installationsanleitung

Python-Paketinstallation


pip install -U crawl4ai


crawl4ai-setup


crawl4ai-doctor

Docker-Bereitstellung


docker pull unclecode/crawl4ai:0.6.0-rN
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:0.6.0-rN

# webUI:http://localhost:11235/playground

Grundlegende Anwendungsbeispiele

Einfaches Web-Crawling

import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())

Befehlszeilenschnittstelle


crwl https://www.nbcnews.com/business -o markdown


crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10


crwl https://www.example.com/products -q "Extract all product prices"

LLM-Strukturierte Datenextraktion

import os
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode, LLMConfig
from crawl4ai.extraction_strategy import LLMExtractionStrategy
from pydantic import BaseModel, Field

class OpenAIModelFee(BaseModel):
    model_name: str = Field(..., description="Name of the OpenAI model.")
    input_fee: str = Field(..., description="Fee for input token for the OpenAI model.")
    output_fee: str = Field(..., description="Fee for output token for the OpenAI model.")

async def main():
    browser_config = BrowserConfig(verbose=True)
    run_config = CrawlerRunConfig(
        word_count_threshold=1,
        extraction_strategy=LLMExtractionStrategy(
            llm_config = LLMConfig(provider="openai/gpt-4o", api_token=os.getenv('OPENAI_API_KEY')),
            schema=OpenAIModelFee.schema(),
                      extraction_type="schema",
            instruction="""From the crawled content, extract all mentioned model names along with their fees for input and output tokens. 
            Do not miss any models in the entire content. One extracted model JSON format should look like this: 
            {"model_name": "GPT-4", "input_fee": "US$10.00 / 1M tokens", "output_fee": "US$30.00 / 1M tokens"}."""
        ),            
        cache_mode=CacheMode.BYPASS,
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result = await crawler.arun(
            url='https://openai.com/api/pricing/',
            config=run_config
        )
        print(result.extracted_content)

if __name__ == "__main__":
    asyncio.run(main())

Neueste Versionsfunktionen (v0.6.0)

🌍 Weltwahrnehmendes Crawling

Legen Sie Geolokalisierung, Sprache und Zeitzone fest, um authentische, regionalspezifische Inhalte zu erhalten:

run_config = CrawlerRunConfig(
    url="https://browserleaks.com/geo",
    locale="en-US",
    timezone_id="America/Los_Angeles",
    geolocation=GeolocationConfig(
        latitude=34.0522,
        longitude=-118.2437,
        accuracy=10.0,
    )
)

📊 Tabellen-zu-DataFrame-Extraktion

Extrahieren Sie HTML-Tabellen direkt als CSV oder pandas DataFrame:


results = await crawler.arun(
    url="https://coinmarketcap.com/?page=1",
    config=crawl_config
)


raw_df = pd.DataFrame()
for result in results:
    if result.success and result.media["tables"]:
        raw_df = pd.DataFrame(
            result.media["tables"][0]["rows"],
            columns=result.media["tables"][0]["headers"],
        )
        break

🚀 Browser-Pooling

Verwenden Sie vorgewärmte Browserinstanzen beim Seitenstart, um Latenz und Speichernutzung zu reduzieren

🔌 MCP-Integration

Verbinden Sie sich über das Modellkontextprotokoll mit KI-Tools wie Claude Code:


claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse

Technische Architektur

Kernkomponenten

  • Asynchrone Crawling-Engine: Hochleistungsfähige asynchrone Architektur basierend auf Playwright
  • Inhaltsfilterungsstrategien: Verschiedene Filteralgorithmen, einschließlich Trim-Filter und BM25-Filter
  • Extraktionsstrategien: Unterstützt CSS-Selektoren, LLM und benutzerdefinierte Extraktionsstrategien
  • Markdown-Generator: Intelligente Konvertierung von Inhalten in ein KI-freundliches Markdown-Format
  • Browserverwaltung: Vollständige Browser-Lebenszyklusverwaltung und Sitzungssteuerung

Unterstützte Extraktionsmethoden

  1. CSS-Selektor-Extraktion: Schnelle, präzise Extraktion strukturierter Daten
  2. LLM-Extraktion: Verwendung großer Sprachmodelle für intelligentes Inhaltsverständnis
  3. JavaScript-Ausführung: Dynamische Inhaltsverarbeitung und Interaktion
  4. Reguläre Ausdrücke: Mustererkennung und Textverarbeitung
  5. XPath-Selektoren: Erweiterte DOM-Elementlokalisierung

Leistungsvorteile

  • 6-fache Geschwindigkeitssteigerung: Im Vergleich zu herkömmlichen Crawling-Tools
  • Speicheroptimierung: Intelligente Speicherverwaltung und Garbage Collection
  • Parallele Verarbeitung: Unterstützt das parallele Crawlen von Tausenden von URLs
  • Caching-Mechanismus: Intelligentes Caching reduziert doppelte Anfragen
  • Ressourcenverwaltung: Adaptive Ressourcenzuweisung und -beschränkung

Anwendungsbereiche

Datenwissenschaft und Forschung

  • Sammlung akademischer Arbeiten und Forschungsdaten
  • Marktforschung und Wettbewerbsanalyse
  • Social-Media-Data-Mining

KI und maschinelles Lernen

  • Sammlung und Vorverarbeitung von Trainingsdaten
  • Inhaltsbeschaffung für RAG-Systeme
  • Aufbau von Wissensgraphen

Business Intelligence

  • Preisüberwachung und -vergleich
  • Nachrichten- und Stimmungsüberwachung
  • Unternehmensdatenaggregation

Content Management

  • Website-Migration und -Backup
  • Content-Aggregation und -Verteilung
  • SEO-Analyse und -Optimierung

Entwicklungs-Roadmap

  • Graph-Crawler: Verwendung von Graphsuchalgorithmen für intelligentes Website-Crawling
  • Problemgesteuerter Crawler: Natürliche Sprachsteuerung für Web-Discovery und Inhalts-Extraktion
  • Wissensoptimaler Crawler: Maximierung des Wissenserwerbs bei gleichzeitiger Minimierung der Datenextraktion
  • Agent-Crawler: Autonomes System für komplexe, mehrstufige Crawling-Operationen
  • Automatisierter Mustergenerator: Konvertierung natürlicher Sprache in Extraktionsmuster
  • Domänenspezifischer Crawler: Vorkonfigurierte Extraktoren für gängige Plattformen

Community und Support

Crawl4AI verfügt über eine aktive Open-Source-Community, die Unterstützung bietet. Beiträge zum Code, das Melden von Problemen und das Einbringen von Vorschlägen sind willkommen. Das Projekt unterliegt der Apache 2.0-Lizenz, ist vollständig Open Source und kostenlos nutzbar.

Zusammenfassung

Crawl4AI repräsentiert die neuesten Entwicklungen in der Web-Crawling-Technologie, insbesondere im Kontext des KI-Zeitalters. Es bietet nicht nur alle Funktionen herkömmlicher Crawler, sondern ist auch speziell für moderne KI-Anwendungen optimiert, was es zur idealen Wahl für Datenwissenschaftler, KI-Forscher und Entwickler macht. Durch seine Open-Source-Eigenschaften und die aktive Community treibt Crawl4AI die Demokratisierung und Standardisierung der Webdatenextraktion voran.