# 用于 RAG 的网页：将站点转为干净、可分块的 Markdown

> 为 RAG 管道提供网页：将文档和博客整站抓取为干净的 Markdown，按标题分块，保留来源 URL。US$0.07/千页 起，无需 KYC，加密货币支付。

- URL: https://webreaderapi.com/zh/use-cases/rag/
- 最后更新: 2026-10-22
- 发布者: WebReaderAPI (https://webreaderapi.com)

检索的效果取决于你放进索引的内容。带标题、元数据和来源 URL 的干净 Markdown 能给出更好的分块、更少的 token 浪费，以及能引用其来源页面的回答。

**快速回答 — 如何将网页导入 RAG 管道？**

把每个页面读取为其正文的 Markdown，沿标题切分，为每个分块附上来源 URL 和标题，然后嵌入并存储。**WebReaderAPI** 负责读取：每页一个请求，或对整个站点（最多 10,000 个页面）运行一个整站抓取 (crawl) 任务，自 2026 年 10 月起每页一个积分，价格从 US$0.07/千页 起。遵循 robots.txt。无需 KYC；加密货币支付。

## 使用 WebReaderAPI 进行 RAG 导入

| 属性 | 值 |
| --- | --- |
| 整站 | `POST https://webreaderapi.com/api/v1/crawl`：每个任务抓取一个网站，最多 10,000 页，遵循其 sitemap、robots.txt 和 Crawl-delay |
| URL 列表 | `POST https://webreaderapi.com/api/v1/batch`：每个批量任务最多 100 个 URL |
| 按页 | 正文的 Markdown，包含标题、作者、日期、语言、字数 |
| PDF | 最大 20 MB、100 页的 PDF 文件可转换为 Markdown，每 10 页（不足 10 页按 10 页计）1 积分 |
| 计费 | 1 积分 = 读取 1 个页面且无需浏览器；当页面需要浏览器渲染 JavaScript 时为 2 积分。失败的请求，或被网站 robots.txt 拒绝的请求，不扣费 |
| 价格 | US$14.25 个积分，50,000 个网页；积分永不过期 |

## 为什么干净的 Markdown 能带来更好的检索效果？

由模板文字构成的分块检索效果很差。当页面切分时仍保留菜单、Cookie 提示文字和页脚，许多分块包含相同的导航词，向量搜索会在不相关的问题中返回它们。正文提取会在你嵌入之前去掉这些噪声。

标题同样重要。以 `## Refund policy` 开头的分块会带着自己的主题，因此嵌入和之后阅读它的模型都知道它在讲什么。纯文本会丢失这个信号；原始 HTML 则把它藏在标记下面。

## 导入管道长什么样？

五个步骤，无论你用什么向量数据库：

1. **收集 URL。** 抓取整站，或把你已有的 URL 列表作为批次发送。
2. **读作 Markdown。** 文章和文档保留 `main_content=true`；列表页使用 `false`。
3. **按标题分块。** 按 `#`、`##` 和 `###` 切分，再把过长的章节按你的大小上限切分，并保留少量重叠。
4. **附加元数据。** 把 `url`、`title`、`published_at` 和标题路径与每个块一起存储，这样回答能引用来源。
5. **刷新。** 重新读取 sitemap 中 `lastmod` 发生变化的页面，并删除现在返回错误的页面对应的块。

*Python：读取页面并按来源切分成块*

```python
import os
import re

import requests

API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
URLS = [
    "https://docs.example.com/getting-started",
    "https://docs.example.com/billing",
]


def chunks_for(url, max_len=2000):
    page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json()
    if "markdown" not in page:
        return []
    out = []
    for section in re.split(r"\n(?=#{1,3} )", page["markdown"]):
        section = section.strip()
        heading = section.splitlines()[0] if section else ""
        for start in range(0, len(section), max_len):
            out.append({
                "text": section[start:start + max_len],
                "url": page.get("final_url", url),
                "title": page.get("title"),
                "heading": heading,
            })
    return out


all_chunks = [c for u in URLS for c in chunks_for(u)]
print(len(all_chunks), "chunks ready to embed")

```

## 构建和刷新一个索引要花多少钱？

构建时每页消耗一个积分，需要浏览器的页面两个。刷新只对重新读取的页面计费。以下三个示例按 2026 年 10 月的价格计算：

- **某产品的帮助中心**共 800 页，每月刷新变化的页面（约 10%）：一次性 800 积分，之后每月约 80。10,000 个网页（US$3.75）可用数年。
- **十个文档站点**各 2,000 页，每周按 5% 刷新：20,000 积分，之后每月约 4,000。50,000 个网页（US$14.25）可覆盖构建和七个月的刷新。
- **一个新闻存档**共 300,000 篇文章，从不变化：一次性 300,000 积分，可放在 500,000 个网页（US$50）中。

嵌入和存储由你自己的服务商计费，不包含在内。

## 我可以索引那些不希望被索引的站点吗？

不能通过 WebReaderAPI。对我们的爬虫或对所有机器人被 robots.txt 禁止的页面会被跳过，且不计费；声明了 `Content-Signal: ai-input=no` 的站点不会为你读取。对于你自己的站点或阻止机器人的合作方站点，请让站长在 robots.txt 中允许 `WebReaderAPI`；我们的[爬虫页面](https://webreaderapi.com/zh/bot/)列出了需要添加的行。

这对你的用户也很重要。一个引用来源的 RAG 助手，在这些来源同意被读取时更有用。

## 哪个套餐适合 RAG 项目？

计算构建索引所需的页面数，加上每月刷新量，选择能覆盖几个月的套餐。积分永不过期。

| 套餐 | 数量 | 价格 | 单价 |
| --- | --- | --- | --- |
| 测试 | 10,000 个网页 | US$3.75 | US$0.38/千页 |
| 入门版 | 50,000 个网页 | US$14.25 | US$0.28/千页 |
| 构建 | 100,000 个网页 | US$21.75 | US$0.22/千页 |
| 扩展 | 500,000 个网页 | US$50 | US$0.10/千页 |

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

**付款前须知**

- 最低充值 US$25。 用加密货币充值一次，即可从余额购买任意套餐。
- 您的余额没有到期日，可随时购买网页积分。如果某个积分包的价格低于最低充值金额，您仅为达到该最低金额而额外充入的部分，可在付款后 30 天内按需退回，以 USDT 或 USDC 形式返还，前提是这部分金额尚未使用。其他余额不予退款，除非法律另有规定.
- 付款在区块链上核实后即到账。 网络确认的通常时间： BTC 约 20 分钟 · USDT TRC-20 约 1 分钟 · USDT ERC-20 约 5 分钟 · USDC ERC-20 约 5 分钟 · ETH 约 5 分钟 · SOL 约 1 分钟 · LTC 约 15 分钟

## RAG 摄取：常见问题

### 我应该使用多大的块？

先按标题切分，再把超过约 500 到 1,000 token 的章节切分，并保留少量重叠。基于标题的块各自只含一个主题，通常比覆盖整页的固定大小窗口检索效果更好。

### WebReaderAPI 会创建嵌入或存储向量吗？

不会。WebReaderAPI 读取页面并返回带元数据的 Markdown。你用自己选择的模型进行嵌入，并存入自己的向量数据库；[LangChain 和 LlamaIndex 页面](https://webreaderapi.com/zh/docs/langchain/)展示了这两者。

### 如何让索引保持最新？

只重新读取发生变化的页面。大多数 sitemap 为每个 URL 带有 `lastmod` 日期；把它与你上次读取的时间比较，将变化的 URL 作为批次发送。现在失败的页面应从索引中移除。

### 我可以包含同一站点的 PDF 吗？

可以。整站抓取会在同一域名下读取 PDF 链接，并执行相同的 robots.txt 检查。最大 20 MB、100 页的 PDF 文件可转换为 Markdown，每 10 页（不足 10 页按 10 页计）1 积分。

---

WebReaderAPI: WebReaderAPI 是一款面向 AI agents 的网页读取 API，可将任何公开网页转换为干净的 Markdown，用加密货币支付，无需上传身份证件。预付费积分低至 US$0.07/千页，永不过期，且遵守 robots.txt。无需 KYC — 无身份证、无自拍、无证件。加密货币支付。
