Text von einer Webseite extrahieren
Diese Funktion ruft eine Internetadresse auf und liefert ausschließlich den lesbaren Fließtext zurück – ohne HTML-Auszeichnung, Navigationsleisten, Werbung oder Skriptreste. Gedacht für alle, die den Inhalt einer Seite weiterverarbeiten wollen, etwa zur Übersetzung, Analyse oder als Grundlage für eine Zusammenfassung.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Was übrig bleibt
Menüs, Seitenleisten, Cookie-Hinweise und Fußzeilen werden entfernt, übrig bleibt der eigentliche Lesetext der Seite als einfache Zeichenfolge, ohne Formatierung. Anders als bei der Markdown-Umwandlung gehen dabei Überschriftenebenen und Aufzählungszeichen als Struktur verloren – was bleibt, ist reiner Text zum direkten Weiterverarbeiten, ohne jede Auszeichnung, die ein nachgelagertes Programm erst wieder interpretieren müsste. Zeilenumbrüche folgen dabei in etwa dem Lesefluss der ursprünglichen Seite, auch wenn kein exaktes Abbild des ursprünglichen Layouts entsteht.
Typische nächste Schritte
Der extrahierte Text lässt sich direkt an eine Übersetzungsfunktion, eine Zusammenfassung oder eine Stimmungsanalyse weitergeben, ohne vorher HTML-Reste von Hand zu entfernen oder Werbetexte händisch herauszufiltern. Auch für eine einfache Wortzahl oder eine Stichwortsuche über mehrere Seiten hinweg ist reiner Text die praktischere Grundlage als formatiertes HTML mit seinen zahlreichen technischen Auszeichnungen, die eine Suche sonst verfälschen oder unnötig verkomplizieren würden.
Der Unterschied zu Markdown und Artikeltext
Wer Struktur wie Überschriften und Listen behalten möchte, findet dafür die Markdown-Umwandlung; wer gezielt nur den Artikel einer Nachrichtenseite ohne Kommentare und Empfehlungen sucht, findet dafür die Artikelfunktion. Diese Funktion hier liefert bewusst den gesamten sichtbaren Text der Seite als einfache Zeichenfolge, ohne eine Vorauswahl zu treffen, welcher Bereich wichtiger ist als ein anderer, und ist damit die richtige Wahl, wenn Sie selbst entscheiden möchten, welcher Teil des Textes weiterverarbeitet wird.
Preis pro Anfrage
$0.040 pro Anfrage zuzüglich $0.001 pro URL, unabhängig davon, wie lang der extrahierte Text am Ende ausfällt oder wie viele Absätze die ursprüngliche Seite enthielt. Ein Abonnement ist dafür nicht nötig, Sie zahlen ausschließlich für die tatsächlich verarbeitete Anfrage, unabhängig davon, ob es sich um eine kurze Produktseite oder einen langen Fachartikel mit vielen Absätzen und mehreren Zwischenüberschriften auf der ursprünglichen Seite handelt.
Anwendungsfälle
Pressemitteilung vor der Übersetzung bereinigen
Ein Übersetzungsbüro extrahiert den reinen Text einer fremdsprachigen Pressemitteilung, bevor er in die Übersetzungsfunktion eingefügt wird.
Wettbewerbsseite für die Stichwortsuche aufbereiten
Katrin Baumann extrahiert den Text mehrerer Konkurrenzseiten, um sie anschließend nach bestimmten Begriffen zu durchsuchen.
Grundlage für eine automatische Zusammenfassung
Jonas Weber extrahiert den Text eines langen Fachartikels, um ihn anschließend automatisch zusammenfassen zu lassen.
Häufige Fragen
Bleiben Überschriften als solche erkennbar?
Nein, das Ergebnis ist reiner Fließtext ohne Struktur; wer Überschriften und Listen erhalten möchte, nutzt stattdessen die Markdown-Umwandlung.
Wird Werbung mit extrahiert?
Nein, Werbeflächen, Menüs und Cookie-Hinweise werden vor der Ausgabe entfernt.
Kann ich den Text direkt an eine andere Funktion weitergeben?
Ja, das Ergebnis eignet sich unmittelbar als Eingabe für Übersetzung, Zusammenfassung oder Textanalyse.
Was kostet eine Extraktion?
$0.040 pro Anfrage plus $0.001 pro URL, unabhängig von der Textlänge.
Funktioniert das auch bei mehrsprachigen Seiten?
Ja, der Text wird unabhängig von der Sprache extrahiert; eine Übersetzung ist ein eigener, nachgelagerter Schritt.
Wird die Webseite dabei gespeichert?
Nein, sie wird ausschließlich zur Textextraktion geladen und danach nicht dauerhaft vorgehalten.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/web/to-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/to-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/to-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/to-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/to-text", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"url": "https://ejemplo.com"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.to_text",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
timeout_sec | 30 |
max_crawl_pages | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |