# Web-Crawling

***

### Planmäßiges Crawlen erstellen

Navigieren Sie zu einer Wissensverwaltung und öffnen Sie die **Aus dem Web importieren** Modalansicht.

<figure><img src="/files/7e155cb0d23660667d757aae8303a60c3012a539" alt=""><figcaption></figcaption></figure>

#### Schritt 1 – Fügen Sie Ihre Start-URLs hinzu

Geben Sie eine oder mehrere URLs ein, die Sie crawlen möchten. Dies sind die Seiten, bei denen der Crawler startet und von denen aus er Links nach außen folgt. Sie können bis zu **5 Start-URLs** pro Zeitplan hinzufügen.

Es werden nur gültige URLs akzeptiert. Ungültige Einträge werden beim Absenden rot hervorgehoben.

#### Schritt 2 – Wiederkehrenden Import aktivieren

Umschalten **„Wiederkehrenden Import planen“** einschalten. Es erscheinen drei neue Felder:

| Feld             | Beschreibung                                                                                                      | Standard      |
| ---------------- | ----------------------------------------------------------------------------------------------------------------- | ------------- |
| **Startdatum**   | Das erste Datum, an dem der Zeitplan aktiv ist. Kann nicht in der Vergangenheit liegen.                           | Heute         |
| **Uhrzeit**      | Die Tageszeit, zu der der Crawl gestartet wird. Vergangene Zeiten werden ausgeblendet, wenn Heute ausgewählt ist. | 09:00         |
| **Wiederholung** | Wie oft der Crawl ausgeführt wird.                                                                                | Jeden Werktag |

**Wiederholungsoptionen:**

* **Jeden Tag** - wird täglich zur gewählten Uhrzeit ausgelöst
* **Jeden Werktag** - wird montags bis freitags zur gewählten Uhrzeit ausgelöst
* **Jede Woche** - wird wöchentlich am gleichen Wochentag wie das Startdatum ausgelöst
* **Jeden Monat** - wird monatlich am gleichen Tag des Monats wie das Startdatum ausgelöst

**Zeitzone** - der Zeitplan verwendet standardmäßig die von Ihrem Browser erkannte Zeitzone. Klicken Sie **„Zeitzone auswählen“** um sie zu überschreiben. Die Zeitzone wird als fester UTC-Offset gespeichert (nicht als benannte Zeitzone), daher verschiebt sie sich nicht mit Änderungen der Sommerzeit.

#### Schritt 3 – Erweiterte Einstellungen konfigurieren (optional)

Klicken Sie auf **Erweiterte Einstellungen** um das Konfigurationspanel zu öffnen:

**Crawl-Verhalten**

| Einstellung         | Standard | Beschreibung                                                                                |
| ------------------- | -------- | ------------------------------------------------------------------------------------------- |
| Sitemap verwenden   | Aus      | Startet den Crawl anhand der `sitemap.xml`                                                  |
| Dokumentparser      | Aus      | Speichert herunterladbare Dateien (PDFs, DOCX usw.), die während des Crawls gefunden werden |
| Bilder extrahieren  | Aus      | Bindet Bild-URLs in den gecrawlten Inhalt ein                                               |
| robots.txt beachten | **Ein**  | Beachtet die `robots.txt` Crawl-Regeln der Website                                          |

**Grenzen**

| Einstellung         | Bereich | Standard | Hinweise                                                                                                                                                                       |
| ------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Zeitüberschreitung  | 1–600 s | 30 s     | Anforderungs-Timeout pro Seite                                                                                                                                                 |
| Max. Wiederholungen | 0–10    | 3        | Wiederholungen pro Seite bei Fehlern                                                                                                                                           |
| Max. Tiefe          | 0–10    | **3**    | Link-Folgetiefe ab der Start-URL. Deaktivieren Sie diese Option, um ohne Tiefenbegrenzung zu crawlen.                                                                          |
| Max. Seiten         | 1–1000  | **10**   | Gesamtanzahl der Seiten pro Lauf. Deaktivieren Sie diese Option für unbegrenzt. Wenn die Sitemap aktiviert ist, wird eine zusätzliche Seite für die Sitemap selbst reserviert. |

#### Schritt 4 – Ausführen

Klicken Sie auf **Crawl ausführen**. Bei einem einmaligen Import (ohne Zeitplan-Schalter) wird der Crawl sofort ausgelöst. Mit Zeitplan erfolgt der erste Lauf zum gewählten Startdatum + Uhrzeit und wird danach automatisch wiederholt.

***

### Wie erneute Crawls funktionieren

Wenn ein geplanter Crawl ausgelöst wird, werden keine doppelten Dokumente erstellt. Stattdessen:

* Seiten, die bereits in der Wissensdatenbank mit einer passenden URL vorhanden sind, werden **direkt aktualisiert** (Upsert nach URL).
* Neue Seiten, die seit dem letzten Crawl gefunden wurden, werden als neue Dokumente hinzugefügt.
* Seiten, die auf der Website nicht mehr existieren, bleiben erhalten – sie werden nicht automatisch gelöscht.

Das bedeutet, dass Ihre Wissensdatenbank immer den neuesten Inhalt der gecrawlten Website widerspiegelt, ohne doppelte Einträge anzusammeln.

***

### Zeitpläne per API verwalten

Die folgenden REST-Endpunkte sind verfügbar:

| Methode  | Pfad                                                   | Was es bewirkt                                             |
| -------- | ------------------------------------------------------ | ---------------------------------------------------------- |
| `POST`   | `/knowledge_base/crawl-schedules`                      | Neuen Zeitplan erstellen                                   |
| `GET`    | `/knowledge_base/crawl-schedules?knowledgeBase=<slug>` | Alle Zeitpläne für eine Wissensdatenbank auflisten         |
| `GET`    | `/knowledge_base/crawl-schedules/{id}`                 | Einen einzelnen Zeitplan mit vollständigen Details abrufen |
| `PATCH`  | `/knowledge_base/crawl-schedules/{id}`                 | Konfiguration, Payload oder aktiven Status aktualisieren   |
| `DELETE` | `/knowledge_base/crawl-schedules/{id}`                 | Zeitplan löschen und seinen Trigger abbrechen              |

Das Pausieren eines Zeitplans (Festlegen von `isActive: false` per PATCH) belässt ihn in der Datenbank, verhindert aber seine Auslösung. Durch erneute Aktivierung wird der Cron-Trigger erneut registriert.

***

### Warum wurde mein geplanter Crawl übersprungen?

Ein geplanter Crawl kann aus folgenden Gründen übersprungen werden:

| Überspring-Grund            | Was es bedeutet                                                                                          | Was als Nächstes passiert                                                                                        |
| --------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `feature_flag_off`          | Das Feature-Flag wurde deaktiviert, nachdem der Zeitplan erstellt wurde.                                 | Der Zeitplan bleibt erhalten. Er wird automatisch fortgesetzt, wenn das Flag wieder aktiviert wird.              |
| `concurrency_cap`           | Die Systemgrenze von **2 gleichzeitigen Crawls** war bereits erreicht, als der Zeitplan ausgelöst wurde. | Der Zeitplan versucht es beim nächsten geplanten Tick automatisch erneut.                                        |
| `dispatch_error: <message>` | Beim Versuch, den Crawl-Job zu starten, ist ein unerwarteter Fehler aufgetreten.                         | Prüfen Sie die Fehlermeldung für Details und wenden Sie sich an den Support, wenn das Problem weiterhin besteht. |

> **Hinweis:** Übersprungene Ticks löschen oder deaktivieren Ihren Zeitplan nicht. In den meisten Fällen erholt sich der Zeitplan automatisch.

***

### Systemgrenzen

* **Max. 5 Start-URLs** pro Zeitplan hinzufügen.
* **Max. 2 gleichzeitige zyklische Crawls** systemweit für alle Tenants zu jedem beliebigen Zeitpunkt. Zeitpläne, die ausgelöst werden, während das Limit ausgeschöpft ist, werden beim nächsten geplanten Tick automatisch erneut versucht.
* Concurrency-Slots haben eine **6-Stunden-TTL** - wenn ein Crawl-Prozess abstürzt, ohne seinen Slot freizugeben, wird der Slot automatisch zurückgefordert.

***

### Bekannte Verhaltensweisen und Stolperfallen

* **Die Zeitzone ist ein fester Offset.** Wenn Ihre Zeitzone die Sommerzeit berücksichtigt, wird der Crawl nach einer DST-Änderung zu einer verschobenen Uhrzeit ausgelöst. Um die Uhrzeit konsistent zu halten, aktualisieren Sie den UTC-Offset des Zeitplans nach der DST-Umstellung manuell.
* **Vergangene Zeiten werden gefiltert.** Wenn das Startdatum heute ist, werden bereits vergangene Zeiten nicht angezeigt — der Auswahlassistent springt automatisch zum nächsten verfügbaren zukünftigen Slot.
* **„Jede Woche“ wird am Wochentag des Startdatums ausgelöst.** Wenn Sie ein Startdatum auf einen Mittwoch setzen und „Jede Woche“ wählen, wird der Crawl immer mittwochs ausgelöst.
* **„Jeden Monat“ wird am Tag des Monats des Startdatums ausgelöst.** Wenn Sie am 31. beginnen, werden in Monaten mit weniger Tagen dieser Tick übersprungen.
* **Gelöschte Seiten werden nicht entfernt.** Erneute Crawls aktualisieren und fügen Inhalte hinzu, entfernen aber keine Dokumente für URLs, die von der Website verschwunden sind.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blockbrain.ai/de/fur-nutzer/alles-uber-wissensmanagement/web-crawling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
