Szybka odpowiedź
Jak przekonwertować stronę internetową do Markdown dla LLM?
Pobierz stronę, zachowaj tylko jej główną treść, następnie zamień nagłówki, listy, tabele i linki na Markdown i ogranicz długość do budżetu modelu. Możesz to zrobić ręcznie, za pomocą bibliotek open-source lub jednym wywołaniem API: WebReaderAPI zwraca Markdown i metadane za jeden kredyt na stronę, od 0,07 USD/1K stron na dzień października 2026. Bez KYC; płatność kryptowalutą.
Trzy sposoby na uzyskanie Markdown ze strony internetowej
| Ręcznie | Skopiuj tekst z przeglądarki lub jej widoku czytnika; w porządku dla kilku stron |
|---|---|
| Biblioteki open-source | Readability, Trafilatura, MarkItDown lub Crawl4AI we własnym fetcherze |
| API web readera | GET https://webreaderapi.com/api/v1/read?url=… zwraca Markdown, tytuł, autora i datę |
| Kontrola długości | max_chars na WebReaderAPI lub samodzielnie przytnij tekst po konwersji |
| Strony JavaScript | Wymagana przeglądarka headless; WebReaderAPI renderuje je w razie potrzeby za 2 kredyty |
Którą metodę wybrać?
Wybierz według wolumenu i tego, ile infrastruktury chcesz utrzymywać.
| Metoda | Dla kogo | Co obsługujesz |
|---|---|---|
| Kopiuj i wklej | Kilka stron, jednorazowe zapytanie | Ręczne czyszczenie |
| Biblioteka w kodzie | Stałe wolumeny, pełna kontrola | Pobieranie, przeglądarki, robots.txt, PDF-y, ponowne próby |
| Web reader API | Agenci i pipeline’y czytające wiele witryn | Tylko zapytanie i wynik |
Biblioteki dają kontrolę i brak opłaty za stronę. Koszt jest operacyjny: przeglądarka headless dla stron JavaScript, sprawdzanie robots.txt, obsługa zestawów znaków i przekierowań oraz osobna ścieżka dla PDF-ów. API zwija to wszystko w jedno wywołanie HTTP.
Co powinien zachować dobry Markdown, a co powinien pominąć?
Dobry Markdown zachowuje każdy element niosący znaczenie i pomija wszystko, co istnieje wyłącznie dla układu lub marketingu.
- Zachowaj nagłówki jako
#,##i###: mówią modelowi i twojemu chunkerowi, gdzie zaczyna się każdy temat. - Zachowaj listy i tabele jako listy Markdown i tabele z pionowymi kreskami, aby kroki i liczby pozostały czytelne.
- Zachowaj linki jako
[text](url): pozwalają asystentowi cytować i śledzić źródła. - Zachowaj bloki kodu w ogrodzeniu, z językiem, gdy strona go pokazuje.
- Pomiń menu, komunikaty o cookies, reklamy, widżety powiązanych postów i stopki: powtarzają się na każdej stronie i zanieczyszczają wyszukiwanie.
Sprawdź wynik na kilku swoich rzeczywistych stronach. Narzędzia do wyodrębniania najbardziej różnią się na forach, długich tabelach i stronach z kilkoma artykułami.
O ile mniejszy jest Markdown niż HTML?
Zwykle znacznie mniejszy, bo znikają elementy strony i znaczniki. Gdy Cloudflare uruchomił funkcję Markdown for Agents 12 lutego 2026, jego przykładowa strona zmniejszyła się z 16 180 tokenów jako HTML do 3 150 tokenów jako Markdown, czyli około 80% mniej.
Twój własny stosunek zależy od witryny. Długie artykuły kurczą się procentowo mniej niż krótkie strony owinięte w ciężkie szablony. Zmierz na swoich źródłach, zanim zaplanujesz budżet.
Jak utrzymać stronę w budżecie tokenów mojego modelu?
Ogranicz tekst, zanim dotrze do modelu, a następnie podziel to, co pozostanie, wzdłuż nagłówków. W WebReaderAPI parametr max_chars przycina Markdown do ustalonej długości, od 1 000 do 500 000 znaków. Pole word_count mówi, jak długi był pełny artykuł, więc agent może zdecydować, czy czytanie reszty jest tego warte.
Do wyszukiwania najpierw dziel według nagłówków, a dopiero potem tnij długie sekcje. Fragment, który zaczyna się od własnego nagłówka, zachowuje temat; fragment wycięty w połowie zdania z długiej strony nie.
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])
Co zwykle idzie nie tak i jak to zauważyć?
Cztery problemy odpowiadają za większość złych konwersji:
- Puste wyjście. Strona buduje treść za pomocą JavaScript. Szukaj niskiego
word_count; wyrenderuj stronę w przeglądarce lub ustawrender=true. - Tekst o cookies lub zgodzie w wyniku. Ekstraktor zachował baner. Preferuj wyodrębnianie głównej treści i sprawdzaj pierwsze linie każdego wyniku.
- Brakujące tabele. Niektóre strony rysują tabele jako obrazy lub elementy canvas; żaden ekstraktor tekstu ich nie odczyta.
- Odmowa zamiast strony. Witryna zabroniła robotom w robots.txt lub odrzuciła żądanie. Uszanuj to: poproś właściciela o dostęp lub użyj oficjalnego API albo kanału, jeśli witryna go oferuje.
Żadnego z tych problemów nie naprawi szybsze ponawianie. Przeczytaj błąd, a następnie zmień metodę lub źródło.
Konwersja strony internetowej do Markdown: często zadawane pytania
Czy Markdown jest lepszy niż zwykły tekst dla LLM?
Dla większości stron tak. Markdown zachowuje nagłówki, listy, tabele i linki przy niewielkim koszcie tokenów, więc model widzi strukturę i może cytować źródła. Zwykły tekst jest nieco krótszy, ale traci tę strukturę.
Czy mogę przekonwertować całą witrynę, nie tylko jedną stronę?
Tak. Zindeksuj ją i konwertuj każdą stronę. crawl API WebReaderAPI robi jedno i drugie w jednym zadaniu: Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay.
Czy mogę przekonwertować PDF w ten sam sposób?
Tak, wysyłając URL pliku PDF do tego samego endpointu. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron.
A co ze stronami za logowaniem?
Nie konwertuj ich przez usługę zewnętrzną, chyba że są twoje i sam je wyeksportowałeś. WebReaderAPI odczytuje tylko publiczne strony i nigdy nie loguje się do kont.
Czy istnieje darmowy sposób, aby to zrobić?
Biblioteki open source są darmowe w użyciu i działają na twoich maszynach. WebReaderAPI nie ma darmowego planu; jego najmniejszy pakiet to 10 000 stron za 3,75 USD, płatny kryptowalutą bez KYC.
Źródła (1)
- Przedstawiamy Markdown for Agents — Cloudflare (2026-02-12)