Crawl4AI Online
DE

Crawl4AI Python-Tutorial: von pip install bis LLM-Extraktion

Crawl4AI mit pip install -U crawl4ai installieren, einmal crawl4ai-setup ausführen und dann jede Seite mit AsyncWebCrawler crawlen. Diese Anleitung zeigt die fünf Muster, die du in der Praxis brauchst, jeweils als kopierfertiges Skript.

Aktualisiert am 06.11.2026

Direkt testen: URL zu Markdown

Kostenlos, ohne Anmeldung, ohne API-Key. 10 Seiten pro Stunde. Wir beachten robots.txt und rufen nur öffentliche Seiten ab.

1. Crawl4AI installieren

python -m venv .venv && source .venv/bin/activate
pip install -U crawl4ai
crawl4ai-setup      # lädt den Playwright-Browser
crawl4ai-doctor     # optionaler Check

Crawl4AI braucht eine aktuelle Python-3-Version. crawl4ai-setup installiert den Chromium-Browser für Playwright; ohne diesen Schritt bricht der erste Crawl mit einem Browser-Fehler ab.

2. Erster Crawl mit AsyncWebCrawler

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="https://docs.crawl4ai.com/")
        print(result.markdown[:500])

asyncio.run(main())

arun() liefert ein Ergebnisobjekt. Die wichtigsten Felder: success, markdown, html, links und extracted_content.

3. Sauberes „Fit“-Markdown mit Inhaltsfilter

Rohes Markdown enthält Menüs und Footer. Ein Inhaltsfilter behält den Haupttext – genau das, was ein LLM braucht:

from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode
from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator
from crawl4ai.content_filter_strategy import PruningContentFilter

config = CrawlerRunConfig(
    cache_mode=CacheMode.BYPASS,
    markdown_generator=DefaultMarkdownGenerator(
        content_filter=PruningContentFilter(threshold=0.48, threshold_type="fixed")
    ),
)
# innerhalb des Crawler-Kontexts:
result = await crawler.arun(url=URL, config=config)
print(result.markdown.fit_markdown)

Das Online-Tool oben arbeitet mit „Nur Hauptinhalt“ nach derselben Idee und erzeugt dieses Skript für deine URL.

4. Viele URLs parallel crawlen

urls = ["https://example.com/a", "https://example.com/b"]
results = await crawler.arun_many(urls=urls, config=config)
for r in results:
    print(r.url, r.success, len(r.markdown or ""))

5. Strukturiertes JSON mit einem LLM extrahieren

import os
from pydantic import BaseModel
from crawl4ai import CrawlerRunConfig, LLMConfig, LLMExtractionStrategy

class Item(BaseModel):
    name: str
    price: str

strategy = LLMExtractionStrategy(
    llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token=os.getenv("OPENAI_API_KEY")),
    schema=Item.model_json_schema(),
    extraction_type="schema",
    instruction="Extrahiere jedes Produkt mit Name und Preis.",
)
config = CrawlerRunConfig(extraction_strategy=strategy)
result = await crawler.arun(url=URL, config=config)
print(result.extracted_content)  # JSON-String

Bei vielen Seiten mit gleichem Aufbau ist JsonCssExtractionStrategy günstiger: CSS-Selektoren einmal festlegen (oder das Schema einmalig per LLM erzeugen lassen) und danach ohne LLM-Kosten pro Seite extrahieren.

Tipp: Für Seiten, die per JavaScript nachladen, wait_until="networkidle" in CrawlerRunConfig setzen oder auf einen Selektor warten. Das Online-Tool ergänzt diese Zeile, wenn du „Seite braucht JavaScript“ anhakst.

Offizielle Referenz: docs.crawl4ai.com. Weiter: Crawl4AI als API mit Docker.

Crawl4AI Python: häufige Fragen

Wie installiere ich Crawl4AI?
pip install -U crawl4ai ausführen, danach crawl4ai-setup für den Browser. crawl4ai-doctor prüft, ob alles läuft.
Was ist AsyncWebCrawler?
AsyncWebCrawler ist die Hauptklasse von Crawl4AI. Man öffnet sie mit async with und ruft arun() für eine URL oder arun_many() für mehrere auf. Browser-Einstellungen gehören in BrowserConfig, Einstellungen pro Crawl in CrawlerRunConfig.
Was ist der Unterschied zwischen Raw- und Fit-Markdown?
raw_markdown ist die ganze Seite als Markdown. fit_markdown ist das Ergebnis nach einem Inhaltsfilter wie PruningContentFilter, der Menüs, Footer und ähnliche Bausteine entfernt.
Kann Crawl4AI lokale LLMs nutzen?
Ja. LLMConfig unterstützt viele Anbieter, auch lokale Modelle über Ollama (zum Beispiel provider="ollama/llama3.3" ohne API-Token).