---
seo_title: LlamaIndex Reader für Web-Seiten und Site-Indexierung | EnConvert
meta_desc: Installieren Sie llama-index-readers-enconvert, um Web-Seiten und ganze Sites in LlamaIndex Documents für semantische Suche und Indexierung zu verwandeln, mit render_quality-Scores.
keywords: llamaindex document reader, llamaindex web page reader, llamaindex site crawl, llamaindex perceive, llamaindex ingest, llama-index-readers-enconvert, llamaindex rag, llamaindex vector index, llamaindex render quality
---

# LlamaIndex Reader für Web-Seiten und Site-Indexierung

Der EnConvert Reader für [LlamaIndex](https://docs.llamaindex.ai) verwandelt Web-Seiten und ganze Sites in LlamaIndex `Document`s. Einzelne URLs zu Markdown erfassen oder eine ganze Site durchsuchen und ein Document pro indexierungsbereitem Chunk zurückgeben. Jedes Seiten-Rendering trägt einen `render_quality`-Score (0,0–1,0), sodass eine blockierte oder leere Seite gekennzeichnet wird, anstatt stillschweigend indexiert zu werden.

<div class="alert alert-info">
<strong>Paket:</strong> <code>llama-index-readers-enconvert</code> · <strong>Quelle:</strong> <a href="https://github.com/enconvert/llama-index-readers-enconvert">enconvert/llama-index-readers-enconvert</a> · <strong>Erfordert:</strong> <code>llama-index-core>=0.12,<0.15</code> · <strong>Lizenz:</strong> MIT
</div>

---

## Installation

```bash
pip install llama-index-readers-enconvert
```

---

## Fügen Sie Ihren API-Schlüssel hinzu

Der Reader benötigt eine Anmeldedaten: **EnConvert API Key**.

```python
from llama_index.readers.enconvert import EnConvertReader

reader = EnConvertReader(api_key="sk_...")
# Oder setzen Sie $ENCONVERT_API_KEY und lassen Sie den Parameter weg
reader = EnConvertReader()
```

Generieren Sie einen **privaten** API-Schlüssel im [Dashboard](/dashboard/api-keys). Private Schlüssel beginnen mit `sk_`. Öffentliche `pk_`-Schlüssel werden abgelehnt.

<div class="alert alert-warning">
<strong>Öffentliche Schlüssel funktionieren nicht.</strong> Schlüssel, die mit <code>pk_</code> beginnen, sind für Browser-Widgets gedacht und werden vom Reader abgelehnt. Mehr erfahren Sie unter <a href="/docs/authentication#private-keys">Private Keys</a>.
</div>

---

## EnConvertReader verwenden

Der Reader unterstützt zwei Modi.

### Einige URLs erfassen

URLs einzeln in Markdown `Document`s umwandeln:

```python
from llama_index.readers.enconvert import EnConvertReader

reader = EnConvertReader(api_key="sk_...")
docs = reader.load_data(urls=["https://example.com", "https://example.com/pricing"])
```

Die Metadaten jedes Document tragen:
- `url`: die Quell-URL
- `render_quality`: eine Zahl von 0,0 (blockiert/leer) bis 1,0 (sauberes Rendering)

### Eine Site in Chunks durchsuchen

Eine ganze Site durchsuchen und ein Document pro Inhalts-Chunk zurückgeben, bereit für semantische Suche:

```python
from llama_index.readers.enconvert import EnConvertReader

reader = EnConvertReader(api_key="sk_...")
docs = reader.load_data(
    ingest_url="https://docs.example.com",
    mode="sitemap",  # oder "crawl" oder "hybrid"
    max_pages=100
)
```

Die Metadaten jedes Document tragen die Chunk-eigene Quell-URL, Titel und Abschnitt-Kontext. Der Reader fragt den Ingestion-Job bis zum Abschluss ab, also `load_data()` ist synchron.

---

## Einen Vector Index bauen

Den Reader in einen Vector Store und eine Abfrage verketten:

```python
from llama_index.readers.enconvert import EnConvertReader
from llama_index.core import VectorStoreIndex, StorageContext
from llama_index.core.storage.docstore import SimpleDocumentStore
from llama_index.core.vector_stores import SimpleVectorStore

# Documents laden
reader = EnConvertReader(api_key="sk_...")
docs = reader.load_data(ingest_url="https://docs.example.com", mode="sitemap")

# Index bauen
index = VectorStoreIndex.from_documents(docs)

# Abfragen
query_engine = index.as_query_engine()
response = query_engine.query("Wie installiere ich das?")
print(response)
```

---

## Fehlerbehebung

**`raise ValueError("Provide either urls or ingest_url, but not both")`**
Sie übergaben sowohl `urls=` als auch `ingest_url=` an `load_data()`. Wählen Sie eine: einzelne URLs erfassen oder eine Site durchsuchen. Das Übergeben keiner wirft auch einen Fehler.

**`AuthenticationError: 401 Unauthorized`**
Der API-Schlüssel ist falsch oder fehlt. Überprüfen Sie, dass Sie `api_key="sk_..."` übergeben oder `$ENCONVERT_API_KEY` auf einen **privaten** Schlüssel (beginnt mit `sk_`) setzen. Öffentliche Schlüssel werden sofort abgelehnt.

**`Die Ladezeit scheint sehr lang.`**
Site-Crawls sind asynchron. Der Reader fragt, bis der Job fertig ist, was für eine große Site mehrere Minuten dauern kann. Fragen Sie den Job-Status direkt über `/v2/ingest/{job_id}` ab oder verwenden Sie die async-Variante (falls verfügbar).

**`render_quality ist sehr niedrig.`**
Ein niedriger Score (< 0,5) bedeutet, die Seite ist blockiert, leer oder schweres JavaScript, das nicht rechtzeitig gerendert wurde. Überprüfen Sie die Quell-URL in einem Browser, um zu sehen, was die Seite tatsächlich liefert. Ist es eine Single-Page App, könnte ein zweites Rendering erfolgreich sein; ist es blockiert, gibt es keinen Wiederversuch.

---

## Quelle und Links

- **Quelle**: [enconvert/llama-index-readers-enconvert](https://github.com/enconvert/llama-index-readers-enconvert)
- **Paket**: [PyPI](https://pypi.org/project/llama-index-readers-enconvert)
- **Lizenz**: MIT
- **LlamaIndex-Dokumentation**: [docs.llamaindex.ai](https://docs.llamaindex.ai)
- **Zugrunde liegende API**: [Introduction](/docs/introduction.md)

---

## Häufig gestellte Fragen

### Wie lade ich eine einzelne URL in ein Document?

```python
from llama_index.readers.enconvert import EnConvertReader
reader = EnConvertReader(api_key="sk_...")
docs = reader.load_data(urls=["https://example.com"])
```

Der Inhalt jedes Document ist das Markdown der Seite, und Metadaten tragen die `url` und `render_quality`-Score.

### Wie durchsuche und indexiere ich eine ganze Site?

```python
from llama_index.readers.enconvert import EnConvertReader
from llama_index.core import VectorStoreIndex

reader = EnConvertReader(api_key="sk_...")
docs = reader.load_data(ingest_url="https://docs.example.com", mode="sitemap", max_pages=100)
index = VectorStoreIndex.from_documents(docs)

# Abfragen
engine = index.as_query_engine()
response = engine.query("Was ist das?")
```

### Wie überprüfe ich die render_quality einer Seite vor dem Indexieren?

Die Metadaten jedes Document enthalten `render_quality`, ein Score von 0,0 bis 1,0. Filtern Sie hochwertige Documents vor dem Indexieren:

```python
high_quality = [doc for doc in docs if doc.metadata.get('render_quality', 1.0) > 0.5]
index = VectorStoreIndex.from_documents(high_quality)
```

### Kann ich mehrere Sites durchsuchen?

Ja. Erstellen Sie einen Reader pro Site und rufen Sie `load_data()` nacheinander auf oder parallelisieren Sie die Aufrufe in Ihrem eigenen async-Code.

### Kann ich dies mit anderen LlamaIndex-Komponenten verwenden?

Ja. EnConvertReader gibt standard LlamaIndex Documents zurück, also funktioniert es mit jedem downstream Index oder jeder Komponente.
