Kort antwoord
Hoe converteer ik een webpagina naar Markdown voor een LLM?
Haal de pagina op, behoud alleen de hoofdinhoud, zet vervolgens koppen, lijsten, tabellen en links om naar Markdown en beperk de lengte tot het budget van je model. Je kunt het handmatig doen, met open-source libraries, of met één API-call: WebReaderAPI geeft de Markdown en metadata terug voor één credit per pagina, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto.
Drie manieren om Markdown uit een webpagina te halen
| Handmatig | Kopieer de tekst uit de browser of de reader-weergave; prima voor een paar pagina's |
|---|---|
| Open-source libraries | Readability, Trafilatura, MarkItDown of Crawl4AI binnen je eigen fetcher |
| Een web reader API | GET https://webreaderapi.com/api/v1/read?url=… retourneert Markdown, titel, auteur en datum |
| Lengtebeheer | max_chars op WebReaderAPI, of knip de tekst zelf na de conversie |
| JavaScript-pagina's | Je hebt een headless browser nodig; WebReaderAPI rendert ze wanneer nodig, voor 2 credits |
Welke methode moet ik gebruiken?
Kies op basis van volume en hoeveel infrastructuur je zelf wilt draaien.
| Methode | Geschikt voor | Jij regelt |
|---|---|---|
| Kopiëren en plakken | Een handvol pagina's, een eenmalige prompt | Handmatig opschonen |
| Library in je code | Regelmatige volumes, volledige controle | Ophalen, browsers, robots.txt, PDF's, retries |
| Web reader API | Agents en pipelines die veel sites lezen | Alleen de request en het resultaat |
Libraries geven je controle en geen kosten per pagina. De prijs is operationeel: een headless browser voor JavaScript-pagina's, een robots.txt-check, karaktercodering en redirects afhandelen, en een apart pad voor PDF's. Een API vat dat allemaal samen in één HTTP-call.
Wat moet goede Markdown behouden, en wat mag eruit?
Goede Markdown behoudt elk element dat betekenis draagt en laat alles weg wat alleen bestaat voor layout of marketing.
- Behoud koppen als
#,##en###: ze vertellen het model, en je chunker, waar elk onderwerp begint. - Behoud lijsten en tabellen als Markdown-lijsten en pipe-tabellen, zodat stappen en cijfers leesbaar blijven.
- Behoud links als
[text](url): ze laten een assistent bronnen citeren en volgen. - Behoud codeblokken met fences, met de taal erbij wanneer de pagina die toont.
- Laat menu's, cookie-meldingen, advertenties, widgets met gerelateerde berichten en footers weg: die herhalen zich op elke pagina en vervuilen retrieval.
Controleer het resultaat op een paar van je echte pagina's. Extractietools verschillen het meest bij forums, lange tabellen en pagina's met meerdere artikelen.
Hoeveel kleiner is Markdown dan HTML?
Meestal veel kleiner, omdat pagina-opsmuk en markup verdwijnen. Toen Cloudflare op 12 februari 2026 zijn Markdown for Agents-functie lanceerde, ging de voorbeeldpagina van 16.180 tokens als HTML naar 3.150 tokens als Markdown, ongeveer 80% minder.
Je eigen verhouding hangt af van de site. Lange artikelen krimpen procentueel minder dan korte pagina's in zware templates. Meet het op je bronnen voordat je een budget bepaalt.
Hoe houd ik een pagina binnen het tokenbudget van mijn model?
Beperk de tekst voordat die het model bereikt, en splits daarna wat overblijft op koppen. Met WebReaderAPI knipt de parameter max_chars de Markdown af op een vaste lengte, tussen 1.000 en 500.000 tekens. Het veld word_count vertelt je hoe lang het volledige artikel was, zodat een agent kan beslissen of de rest lezen de moeite waard is.
Splits voor retrieval eerst op koppen en knip pas daarna lange secties. Een chunk die met zijn eigen kop begint, behoudt zijn onderwerp; een chunk die midden in een zin uit een lange pagina is geknipt, niet.
import os
import re
import requests
API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
def page_to_chunks(url, max_chars=60000, chunk_len=1500):
params = {"url": url, "format": "markdown", "max_chars": max_chars}
resp = requests.get(API, headers=HEADERS, params=params, timeout=90)
data = resp.json()
if resp.status_code != 200:
print("not read:", data["error"]["code"])
return []
chunks = []
for section in re.split(r"\n(?=#{1,3} )", data["markdown"]):
section = section.strip()
while section:
chunks.append(section[:chunk_len])
section = section[chunk_len:]
return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks]
if __name__ == "__main__":
for chunk in page_to_chunks("https://example.com/guides/compost")[:3]:
print(chunk["title"], "|", chunk["text"][:80])
Wat gaat er meestal mis, en hoe herken ik het?
Vier problemen veroorzaken de meeste slechte conversies:
- Lege output. De pagina bouwt zijn inhoud met JavaScript op. Let op een lage
word_count; render de pagina in een browser, of zetrender=true. - Cookie- of consenttekst in het resultaat. De extractor heeft een banner behouden. Geef de voorkeur aan hoofdinhoud extraheren en controleer de eerste regels van elk resultaat.
- Ontbrekende tabellen. Sommige sites tekenen tabellen als afbeeldingen of canvas-elementen; geen enkele tekstextractor kan die lezen.
- Een weigering in plaats van een pagina. De site stond robots niet toe in robots.txt of weigerde het verzoek. Respecteer dat: vraag de eigenaar om toegang, of gebruik een officiële API of feed als de site die biedt.
Geen van deze lost zich op door sneller te retryen. Lees de fout, en verander dan de methode of de bron.
Webpagina naar Markdown: veelgestelde vragen
Is Markdown beter dan platte tekst voor een LLM?
Voor de meeste pagina's wel. Markdown behoudt koppen, lijsten, tabellen en links tegen een kleine tokenkost, zodat het model structuur ziet en bronnen kan citeren. Platte tekst is iets korter maar verliest die structuur.
Kan ik een hele website converteren, niet alleen één pagina?
Ja. Crawl de site en converteer elke pagina. WebReaderAPI's crawl API doet beide in één job: Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay.
Kan ik een PDF op dezelfde manier converteren?
Ja, door de URL van de PDF naar hetzelfde endpoint te sturen. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's.
En pagina's achter een login?
Converteer ze niet via een externe dienst, tenzij ze van jou zijn en je ze zelf hebt geëxporteerd. WebReaderAPI leest alleen openbare pagina's en logt nooit in op accounts.
Is er een gratis manier om dit te doen?
Open-source libraries zijn gratis te gebruiken en draaien op je eigen machines. WebReaderAPI heeft geen gratis tier; het kleinste pack is 10.000 pagina's voor US$ 3,75, betalen met crypto zonder KYC.
Bronnen (1)
- Markdown for Agents geïntroduceerd — Cloudflare (2026-02-12)