Test
10.000 sayfa
$3,75
$0,38/1K sayfa
- Gerçek URL'lerinizde deneyin
- En büyük paketle aynı API
- Krediler hiç sona ermez
Kullanım senaryosu · geçişler ve dışa aktarmalar · /crawl
Statik bir site oluşturucuya, bir dokümantasyon platformuna veya bir bilgi tabanına geçmek genellikle tek bir soruyla başlar: sayfalarımı temiz Markdown olarak nasıl çıkarırım? Bir tarama bunu tek bir işte yapar; başlıklar, tarihler ve URL'ler front matter içinde korunur.
Hızlı yanıt
Tüm web sitemi nasıl Markdown'a dönüştürürüm?
Sitenizi tarayın, her sayfanın ana içeriğini Markdown olarak okuyun ve her sayfa için başlığı, URL'si ve tarihi front matter içinde olacak şekilde bir .md dosyası yazın. WebReaderAPI iş başına 10.000 sayfaya kadar tarar, sitemap'inizi ve robots.txt dosyanızı takip eder ve Ekim 2026 itibarıyla $0,07/1K sayfa üzerinden sayfa başına bir kredi ücret alır. Aşağıdaki Python betiği dosyaları yazar. KYC olmadan; kripto ile ödeme.
| Endpoint | POST https://webreaderapi.com/api/v1/crawl, GET https://webreaderapi.com/api/v1/jobs/{job_id} sonuçları |
|---|---|
| Kapsam | İş başına bir web sitesi tarama (crawl), 10.000 sayfaya kadar, sitemap'ini, robots.txt'ini ve Crawl-delay'ini izleyerek |
| Sayfa başına | Ana içeriğin Markdown'ı, ayrıca başlık, açıklama, yazar, tarih ve dil |
| Tüm sayfalar | main_content=false ihtiyaç duyduğunuzda gezinme ve alt bilgileri korur |
| robots.txt dosyanız | Dışa aktardığınız sayfalar için WebReaderAPI izin vermelidir |
| Fiyat | 10.000 sayfa için $3,75; krediler hiç süresi dolmaz |
İçeriğin onu işleyen sistemden ayrılması gerektiğinde her zaman. Yaygın durumlar:
Her durumda istediğiniz şey kelimeler ve yapıdır, etraflarındaki tema değil.
import os
import pathlib
import time
from urllib.parse import urlparse
import requests
API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://www.example.com/"
OUT = pathlib.Path("export")
def target_path(url):
path = urlparse(url).path.strip("/") or "index"
return OUT / (path + ".md")
def front_matter(page):
fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""}
lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""]
return "\n".join(lines)
job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json()
cursor, delay, written = None, 5, 0
while True:
params = {"cursor": cursor} if cursor else {}
batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
for page in batch.get("results", []):
if "markdown" not in page:
continue
dest = target_path(page["final_url"])
dest.parent.mkdir(parents=True, exist_ok=True)
dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8")
written += 1
cursor = batch.get("next_cursor")
if batch["status"] == "done" and not cursor:
break
if not cursor:
time.sleep(delay)
delay = min(delay * 2, 60)
print(written, "files in", OUT)
URL yolunu dosya yolunda yansıtın, betiğin yaptığı gibi: /guides/setup/, export/guides/setup.md olur. Orijinal URL'yi front matter içinde source olarak saklayın; böylece geçişten sonra yönlendirmeleri kurabilir ve hiçbir şeyin kaybolmadığını kontrol edebilirsiniz.
Markdown içindeki bağlantılar hâlâ mevcut URL'lerinize işaret eder. Taşıma sonrasında alan adını veya yol önekini tek seferde değiştirin, ardından örnek sayfaları test edin. Tablolar ve kod blokları Markdown olarak kalır, bu yüzden çoğu statik oluşturucu bunları değişiklik yapmadan işler.
Dışa aktarma süresince token'ımıza izin verin. WebReaderAPI yalnızca robots.txt'nin WebReaderAPI için veya tüm robotlar için izin verdiğini okur; kendi sitenizde de böyle. Allow: / içeren User-agent: WebReaderAPI gibi bir grup ekleyin, taramayı çalıştırın, ardından isterseniz kaldırın.
Crawler sayfamız tam satırları ve sunucu günlüklerinizde görünecek User-Agent'ı gösterir. Engellenmeye devam eden sayfalar atlanır ve ücretlendirilmez.
Sayfa başına bir kredi, metnini göstermek için tarayıcı gerekenler için iki kredi. Sunucuda işlenen 2.000 sayfalık bir site bir defa 2.000 kredi tutar; JavaScript uygulaması olarak aynı site 4.000'e kadar tutabilir. Ekim 2026 itibarıyla her ikisi de $3,75 için 10.000 sayfa içine sığar.
50.000 sayfalık bir site, bölümlere include_paths ile ayrılarak birden fazla iş gerektirir ve 100.000 sayfa ($21,75) içine sığar. Dışa aktarmadan sonra kalan krediler, sonraki yenilemeler için hesabınızda kalır.
Sayfalarınızı sayın, site JavaScript ile işlenmesi gerekiyorsa sayıyı ikiye katlayın ve bir üstteki paketi seçin. Krediler hiç süresi dolmaz.
10.000 sayfa
$3,75
$0,38/1K sayfa
50.000 sayfa
$14,25
$0,28/1K sayfa
100.000 sayfa
$21,75
$0,22/1K sayfa
Tüm planlarda: Ana içeriği çıkarma · Gerektiğinde JavaScript oluşturma · Başarısız ve reddedilen sayfalar ücretlendirilmez · Krediler hiç sona ermez
Evet. Tarama seçeneklerinde main_content=false ayarlayın; her dosya Markdown'a dönüştürülmüş tam sayfayı içerir. Çoğu geçişte yalnızca ana içerik tercih edilir, çünkü yeni tema kendi navigasyonunu sağlar.
Hayır. include_images=true ile görsel bağlantıları alt metinleriyle birlikte Markdown'da kalır; geçiş bunları gerektiriyorsa dosyaları kendi betiğinizle indirin.
Yalnızca robots.txt dosyasının izin verdiği herkese açık sayfaları ve yalnızca kullanım koşullarının ve yasaların izin verdiği amaçlarla. Geçiş veya yedekleme için kendi sitelerinizi ya da sahibinin onay verdiği siteleri dışa aktarın.
Tek bir alan adı içinde, tarama işi başına 10.000 sayfaya kadar. Daha büyük siteleri include_paths ile bölümlere ayırıp birkaç iş çalıştırın.
$0,07/1K sayfa başlangıçlı · KYC yok
API anahtarı alın