HTML→Markdown

HTML-Seiten für die Konvertierung herunterladen

Bevor Sie HTML in Markdown konvertieren können, brauchen Sie die Dateien auf Ihrem Rechner. Dafür gibt es mehrere Wege, vom Speichern einer einzelnen Seite im Browser bis zur rekursiven Spiegelung einer ganzen Website. Wählen Sie den, der zu Ihrer Situation passt.

Methode 1: Website rekursiv spiegeln mit wget

Ideal für: Dokumentationsseiten, Produkthandbücher und Entwicklerreferenzen, also jede Website mit einer klaren URL-Hierarchie.

Grundbefehl

wget -r -np -k -E \
  -w 0.5 --random-wait \
  https://docs.example.com/en/latest/

Was die Flags bewirken

FlagZweck
-rLinks rekursiv folgen
-npNie über den Startpfad hinausgehen (innerhalb des Docs-Bereichs bleiben)
-kLinks umschreiben, damit sie auf lokale Dateien zeigen
-E.html an URLs ohne Erweiterung anhängen, damit der Konverter sie erkennt
-w 0.50,5 Sekunden zwischen Anfragen warten
--random-waitVerzögerung zufällig variieren, damit es weniger automatisiert wirkt

Bilder und Assets überspringen (empfohlen)

Sie brauchen nur das HTML. Schließen Sie Binärdateien aus, um Bandbreite und Speicherplatz zu sparen:

wget -r -np -k -E \
  --reject-regex '\.(png|jpe?g|gif|svg|webp|woff2?|ttf|css|js|zip|pdf)$' \
  -w 0.5 --random-wait \
  https://community.denodo.com/docs/html/browse/latest/en/vdp/developer/index

Crawl-Tiefe begrenzen

Bei großen Websites begrenzen Sie, wie tief wget Links folgt:

# Nur 2 Ebenen tief ab der Start-URL
wget -r -np -k -E -l 2 \
  -w 0.5 --random-wait \
  https://docs.example.com/en/latest/

wget installieren

SystemBefehl
macOSbrew install wget
Ubuntu/Debiansudo apt install wget
Windowswinget install JernejSimoncic.wget

Methode 2: URL-Liste mit curl herunterladen

Ideal für: Fälle, in denen Sie bereits eine bestimmte Liste von Seiten haben (aus einer Sitemap, einem Inhaltsverzeichnis oder einer URL-Datei).

Von einer URL-Liste herunterladen

# urls.txt: eine URL pro Zeile
https://docs.example.com/page-1.html
https://docs.example.com/page-2.html
https://docs.example.com/api/reference.html
# Alle Seiten herunterladen, Verzeichnisstruktur beibehalten
while IFS= read -r url; do
  path=$(echo "$url" | sed 's|https\?://[^/]*/||')
  mkdir -p "$(dirname "downloaded/$path")"
  curl -s -o "downloaded/$path" "$url"
  sleep 0.5
done < urls.txt

URLs aus einer Sitemap extrahieren

# URLs aus sitemap.xml extrahieren
curl -s https://docs.example.com/sitemap.xml \
  | grep -oP '<loc>\K[^<]+' \
  | grep '\.html' \
  > urls.txt

Methode 3: Einzelne Seiten im Browser speichern

Ideal für: einige wenige Seiten oder Websites mit Login.

  1. Öffnen Sie die Seite in Chrome, Firefox oder Edge
  2. Drücken Sie Strg+S (Windows/Linux) oder ⌘+S (macOS)
  3. Wählen Sie „Webseite, nur HTML“ (nicht „Komplett“, Bilder und CSS brauchen Sie nicht)
  4. In einem Ordner speichern
  5. Für jede Seite wiederholen oder eine Browser-Erweiterung zum Batch-Speichern verwenden

Browser-Erweiterungen zum Batch-Speichern

  • SingleFile (Chrome/Firefox): speichert Seiten als eigenständige HTML-Dateien
  • Save All Resources (Chrome): speichert alle offenen Tabs auf einmal als HTML
  • DownThemAll (Firefox): ein Download-Manager, der alle Links auf einer Seite erfassen kann

Methode 4: HTTrack, ein Website-Kopierer mit grafischer Oberfläche

Ideal für: alle, die eine grafische Oberfläche der Kommandozeile vorziehen.

  1. HTTrack von httrack.com herunterladen (Windows/Linux/macOS)
  2. Start-URL eingeben und Filter konfigurieren (nur HTML)
  3. Die Seite spiegeln lassen
  4. HTML-Dateien im Ausgabeordner finden

Methode 5: Puppeteer oder Playwright für JavaScript-gerenderte Seiten

Ideal für: Single-Page-Apps (SPAs) und Websites, die Inhalte mit JavaScript rendern. wget und curl erfassen nur das initiale HTML. Wird der Inhalt dynamisch nachgeladen, brauchen Sie einen Headless-Browser.

// save-pages.mjs: Node.js + Playwright
import { chromium } from 'playwright';
import { writeFileSync, mkdirSync } from 'fs';

const urls = [
  'https://spa-docs.example.com/getting-started',
  'https://spa-docs.example.com/api-reference',
];

const browser = await chromium.launch();
const page = await browser.newPage();

for (const url of urls) {
  await page.goto(url, { waitUntil: 'networkidle' });
  const html = await page.content();
  const filename = url.split('/').pop() + '.html';
  mkdirSync('pages', { recursive: true });
  writeFileSync(`pages/${filename}`, html);
  console.log(`Saved: ${filename}`);
}

await browser.close();

Das ZIP-Paket erstellen

Wenn die HTML-Dateien heruntergeladen sind, packen Sie sie für den Konverter in ein ZIP:

macOS und Linux

# Innerhalb des heruntergeladenen Ordners:
cd community.denodo.com

# Nur HTML-Dateien zippen, Verzeichnisstruktur beibehalten
find . -name '*.html' -print | zip ../docs.zip -@

Oder alles zippen (Nicht-HTML-Dateien werden vom Konverter ignoriert):

zip -r ../docs.zip .

Windows (PowerShell)

Compress-Archive -Path .\downloaded\* -DestinationPath docs.zip

Windows (Datei-Explorer)

  1. Den Ordner mit Ihren HTML-Dateien auswählen
  2. Rechtsklick → In ZIP-Datei komprimieren

ZIP vor dem Upload prüfen

Der Konverter akzeptiert ZIPs bis 100 MB mit bis zu 200 HTML-Dateien:

# HTML-Dateien zählen
unzip -l docs.zip | grep -c '\.html$'

# Gesamtgröße prüfen
du -h docs.zip

Wenn Ihr Archiv die Grenzen überschreitet, teilen Sie es nach Unterverzeichnissen auf und konvertieren Sie in Stapeln.

Tipps

  • robots.txt beachten: Prüfen Sie die robots.txt der Website vor dem Crawlen. wget hält sich standardmäßig daran (-e robots=on)
  • Anfragen drosseln: Bauen Sie immer eine Pause zwischen Anfragen ein (mindestens -w 0.5), um den Server nicht zu überlasten
  • Nutzungsbedingungen prüfen: Einige Websites verbieten automatisiertes Herunterladen in ihren AGB
  • -E bei wget verwenden: Damit speichert wget URLs ohne Endung als .html-Dateien, die der Konverter erkennt
  • Erst einen kleinen Bereich testen: Fügen Sie -l 1 hinzu, um die Tiefe zu begrenzen, und prüfen Sie die Ausgabe vor einem vollständigen Crawl
  • Seiten mit Login: Verwenden Sie wget --load-cookies mit exportierten Browser-Cookies oder speichern Sie die Seiten von Hand im Browser

Nächster Schritt

Sobald Ihre ZIP-Datei bereit ist, öffnen Sie den Konverter und ziehen Sie sie hinein. Die Konvertierung läuft komplett in Ihrem Browser. Ihre Dateien werden nie auf einen Server hochgeladen.