无需 KYC — 无身份证、无自拍、无证件。加密货币支付:BTC, USDT, USDC, ETH, SOL, LTC
语言: 简体中文
获取 API 密钥

POST /crawl · 每个任务最多 10,000 页 · 遵循 robots.txt 和 Crawl-delay

Crawl API:把整个网站转换为 Markdown 文件

给出起始 URL 和页数上限。爬虫会遵循网站的 sitemap,并跟踪同一域名内的链接,把每个页面读取为 Markdown,再逐页把结果交给你。每页一个积分。

最后更新:

快速回答

如何整站抓取一个网站,并把每个页面都获取为 Markdown?

使用 crawl API:你发送起始 URL 和上限,它把网站的每个页面以 Markdown 返回。WebReaderAPI 每个任务在单一域名内最多抓取 10,000 页,遵循 sitemap、robots.txt 和 Crawl-delay,每读取一页收取一个积分,截至 2026 年 10 月起价为 US$0.07/千页。被 robots.txt 拒绝的页面免费。无需 KYC;加密货币支付。

Crawl API 一览

发起整站抓取 (crawl)用 url、limit、max_depth、include_paths、exclude_paths 调用 POST https://webreaderapi.com/api/v1/crawl
获取结果GET https://webreaderapi.com/api/v1/jobs/{job_id},使用 cursor 分页
范围每个任务抓取一个网站,最多 10,000 页,遵循其 sitemap、robots.txt 和 Crawl-delay
多个独立 URLPOST https://webreaderapi.com/api/v1/batch:每个批量任务最多 100 个 URL
计费1 积分 = 读取 1 个页面且无需浏览器;当页面需要浏览器渲染 JavaScript 时为 2 积分。失败的请求,或被网站 robots.txt 拒绝的请求,不扣费
站长我们遵守 robots.txt:我们的爬虫以 WebReaderAPI 标识自身,遵循专为其或为所有爬虫编写的规则,不读取网站禁止的页面。被拒绝的页面不扣费
价格US$14.25 只需 50,000 个网页,US$50 只需 500,000 个网页

整站抓取 (crawl) 任务是如何运行的?

整站抓取 (crawl) 是一个后台任务,因为读取数百个页面所需的时间远超一次 HTTP 请求应有的时长。

  1. 启动: 使用起始 URL 和你的限制参数调用 POST https://webreaderapi.com/api/v1/crawl,你会立即得到一个 job_id。
  2. 发现: 爬虫读取网站的 robots.txt 和 sitemap,然后沿同一域名内的链接按广度优先遍历,最多至 max_depth。
  3. 读取: 每个允许访问的页面都使用与 /read 相同的选项读取:Markdown、正文提取、需要时进行渲染。
  4. 收集: 在任务运行期间,轮询 GET https://webreaderapi.com/api/v1/jobs/{job_id} 并用 cursor 分页获取结果,或在任务处于 done 状态后获取。

The job stops at your limit, so you never pay for more pages than you asked for.

Python:将文档站点整站抓取 (crawl) 为 Markdown 文件
import os
import pathlib
import re
import time

import requests

API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}

job = requests.post(
    API + "/crawl",
    headers=HEADERS,
    json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]},
    timeout=60,
).json()

out = pathlib.Path("docs_md")
out.mkdir(exist_ok=True)
cursor, delay = None, 5
while True:
    params = {"cursor": cursor} if cursor else {}
    page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
    for item in page.get("results", []):
        if "markdown" in item:
            name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120]
            (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8")
    cursor = page.get("next_cursor")
    if page["status"] == "done" and not cursor:
        break
    if not cursor:
        time.sleep(delay)
        delay = min(delay * 2, 60)
print("credits used:", page.get("credits_used"))

爬虫会访问哪些页面,又会跳过哪些页面?

它只停留在起始 URL 所在的域名内,并跳过网站要求 robots 不要访问的任何内容。具体如下:

  • 仅限同一域名。 指向其他域名的链接会列在结果中,但不会被读取。
  • 先看 robots.txt。 对 WebReaderAPI 或对所有 robots 禁止访问的页面会被跳过,且不扣费。
  • 遵守 Crawl-delay。 如果网站设置了该项,爬虫会在两个页面之间等待相应时间,因此大型网站可能需要更长时间。
  • 你的过滤器。 include_paths 和 exclude_paths 接受诸如 /blog/* 这样的简单模式;用它们来避开标签页、搜索页和归档页。
  • 去除重复。 同一页面若可通过两个 URL 到达(例如带有跟踪参数),当网站声明了 canonical URL 时只读取一次。

我应该使用整站抓取 (crawl) 还是批量读取?

当你知道网站但不知道具体页面时,使用整站抓取 (crawl);当已经拥有 URL 列表时,使用批量读取。整站抓取 (crawl) 会从 sitemap 和链接中发现页面。批量读取则精确读取你发送的 URL,每个任务最多 100 个,可跨任意数量的网站。

对于知识库的每周刷新,常见模式是先执行一次整站抓取 (crawl) 来建立索引,然后对 sitemap 中 lastmod 发生变化的页面进行批量读取。这样每周的成本只落在真正发生变动的页面上。

整站抓取 (crawl) 一个网站需要多少费用?

每读取一个页面消耗 1 个积分,需要浏览器的页面消耗 2 个。一个 1,500 页、在服务端渲染的文档站点花费 1,500 积分;同一站点若构建为单页应用,花费可能高达 3,000 积分。

截至 2026 年 10 月,三个典型任务:一个 300 页的产品手册可用 10,000 个网页 积分包(US$3.75);十个各 2,000 页的文档站点可用 50,000 个网页(US$14.25);一个 400,000 页的归档可用 500,000 个网页(US$50)。被跳过和失败的页面免费。

哪种积分包适合整站抓取 (crawl)?

根据页面数量确定积分包大小,然后为需要浏览器的页面留出余量。积分永不过期,剩余积分可用于下一次整站抓取 (crawl)。

测试

10,000 个网页

US$3.75

US$0.38/千页

  • 用你的真实 URL 试一试
  • 与最大积分包使用同一个 API
  • 积分永不过期
选择 10,000 个网页

入门版

50,000 个网页

US$14.25

US$0.28/千页

  • AI 智能体或 RAG 原型
  • 抓取文档站点
  • 积分永不过期
选择 50,000 个网页

构建

100,000 个网页

US$21.75

US$0.22/千页

  • 生产级智能体和 RAG 流水线
  • 批量和整站抓取任务
  • 积分永不过期
选择 100,000 个网页

扩展

500,000 个网页

US$50

US$0.10/千页

  • 大型知识库
  • 可按需提高并发
  • 积分永不过期
选择 500,000 个网页

所有套餐均包含: 正文提取 · 需要时渲染 JavaScript · 失败和被拒绝的页面不收费 · 积分永不过期

整站抓取 (crawl) API:常见问题

一次整站抓取 (crawl) 可以读取多少个页面?

每个任务最多 10,000 页,且限于起始 URL 所在的域名。对于更大的网站,可用 include_paths 将其拆分为多个任务,例如每个栏目一个任务。

爬虫会使用 sitemap 吗?

会。它读取 robots.txt 中列出的或位于常规位置的 sitemap,然后沿其读取的页面上的链接继续抓取。如果 robots.txt 允许,仅由 sitemap 列出的页面仍会被读取。

我可以整站抓取 (crawl) 一个屏蔽 AI 爬虫的网站吗?

使用 WebReaderAPI 不行。如果 robots.txt 禁止我们的爬虫或所有 robots 访问,那些页面会被跳过且不扣费。如果网站声明了 Content-Signal: ai-input=no,我们不会为你读取。我们从不试图绕过此类选择。

整站抓取 (crawl) 仍在运行时,我能获取结果吗?

可以。GET https://webreaderapi.com/api/v1/jobs/{job_id} 会返回截至目前已读取的页面以及一个 cursor;持续分页直到任务处于 done 状态且不再有 cursor 为止。

整站抓取 (crawl) 读取的页面会超过我的限制吗?

不会。积分按页计算,任务在你设定的 limit 达到时停止。因 robots.txt 而跳过的页面以及失败的页面不消耗积分。

低至 US$0.07/千页 · 无需 KYC

获取 API 密钥