# 面向 AI Agent 的网页抓取工具：把页面读取为干净的 Markdown

> 面向 AI Agent 的网页抓取工具：通过 MCP、OpenAI tools、LangChain 或 n8n，把任意公开页面读取为带长度上限的 Markdown，起价 US$0.07/千页。加密货币支付。

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

一个能搜索但读不了答案正文的 agent，只能引用摘要片段。给它一个能把任意公开 URL 转成简短、干净 Markdown 的工具，它就能读取来源、引用并注明出处，而且在你设定的预算之内。

**快速回答 — 给 AI agent 配上网页抓取工具的最佳方式是什么？**

把网页读取 API 封装成一个工具，接收 URL，返回页面主内容的 Markdown，并按设定长度截断。**WebReaderAPI** 负责读取，需要时渲染 JavaScript，遵守 robots.txt，每页从 US$0.07/千页 起计一个积分（截至 2026 年 10 月）。现成的工具代码涵盖 MCP、OpenAI function calling、LangChain、n8n 和 OpenClaw。无需 KYC；加密货币支付。

## WebReaderAPI 作为 agent 工具

| 属性 | 值 |
| --- | --- |
| 工具 | `read_url(url, max_chars)` 调用 `https://webreaderapi.com/api/v1/read` |
| 返回 | 主内容的 Markdown，外加标题、作者、日期和字数 |
| 长度上限 | `max_chars`，每页 1,000 到 500,000 字符 |
| JavaScript 页面 | 页面需要时在无头浏览器中渲染 JavaScript（render=auto），或始终渲染，或从不渲染 |
| 拒绝 | 以明确的错误返回，绝不收费 |
| 集成 | [MCP](https://webreaderapi.com/zh/docs/mcp/)、[OpenAI](https://webreaderapi.com/zh/docs/openai/)、[LangChain 和 LlamaIndex](https://webreaderapi.com/zh/docs/langchain/)、[n8n](https://webreaderapi.com/zh/docs/n8n/)、[OpenClaw](https://webreaderapi.com/zh/docs/openclaw/) |
| 价格 | US$3.75 仅需 10,000 个网页；积分永不过期 |

## 为什么 agent 需要一个阅读器，而不是直接拿原始 HTML？

因为原始 HTML 会把上下文窗口浪费在模型并不需要的东西上。一篇新闻文章或一个文档页到达时，外面裹着导航、脚本、同意横幅和相关链接。原样传进去，它会挤占对话空间，还会让模型引用菜单。

阅读器一次解决三个问题。它只保留正文，它能渲染那些 JavaScript 运行前空白的页面，它还能把 PDF 转成文本。agent 得到的是一个紧凑的 Markdown 块，附上可引用的标题和日期。

## 为什么内置的 fetch 工具有时会失败？

主要是因为网站拒绝自动化流量。自 2025 年 7 月 1 日起，Cloudflare 默认阻止 AI 爬虫访问新域名，而从 2026 年 9 月 15 日起，其预设在新域名的广告支持页面上阻止“Agent”流量。编码 agent 和助手里的内置工具遇到这些拒绝时，和其他任何客户端一样。

其他失败是技术性的。OpenClaw 的文档（2026 年 10 月 22 日查阅）称，其内置的 web_fetch 用 Readability 提取内容，不运行 JavaScript，输出上限为 20,000 个字符。在浏览器中构建的页面、长文档、慢速服务器和 rate limit 都会让这类工具出错。能渲染页面的阅读器解决了 JavaScript 这一种情况；缓存和耐心解决其余的。拒绝是站长的决定。我们的[网页抓取 403 错误指南](https://webreaderapi.com/zh/guides/web-fetch-403-errors/) 逐一解释了每种情况。

## 为什么这个工具叫 read_url 而不是 web_fetch？

为了避免和 agent 已有的工具冲突。Claude Code 和 OpenClaw 都自带一个名为 `web_fetch` 的内置工具。同名工具会让模型搞不清自己在调用哪一个。把我们的命名为 `read_url` 可以让两者都可用：agent 可以用内置 fetcher 做快速检查，需要干净的 Markdown、PDF 或 JavaScript 页面时用 `read_url`。

我们文档页上的工具定义都用这个名字，所以你可以切换框架而不用改 prompt。

*Python：带长度上限的紧凑 read_url 工具*

```python
import os

import requests

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


def read_url(url: str, max_chars: int = 12000) -> str:
    """Return a web page as Markdown for a model, or a short reason it was not read."""
    resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90)
    data = resp.json()
    if resp.status_code != 200:
        err = data.get("error", {})
        return "Not read (" + err.get("code", "error") + "): " + err.get("message", "")
    head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"]
    if data.get("published_at"):
        head += " | Published: " + data["published_at"]
    return head + "\n\n" + data["markdown"]


if __name__ == "__main__":
    print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500])

```

## agent 应该如何决定读什么？

给它一个预算和一条规则。三个习惯可以控制成本和上下文：

- **少读，读好。**每个问题两到四个来源通常就够带引用回答了。
- **给每页设上限。**先把 `max_chars` 设在 10,000 到 15,000 个字符左右；只有当 `word_count` 显示答案可能更靠后时才调高。
- **报告拒绝。**当页面没读到，让模型说出来，然后换一个来源，而不是重试。

上面的工具会把拒绝返回成一句简单的话，这样模型可以向用户解释。

## 用 WebReaderAPI 跑一个 agent 要花多少钱？

每页一个积分，页面需要浏览器时两个。一个每天回答 100 个问题、每个问题读 4 页的助手，一个月大约读 12,000 页。截至 2026 年 10 月，50,000 个网页（US$14.25）够用四个月。

积分永不过期，所以一个这周忙、下周闲的 agent 不会浪费月度配额。失败或被 robots.txt 拒绝的页面不收费。

## 哪个 pack 适合 agent？

在 10,000 个网页 上做原型；当 agent 服务真实用户时，升级到 50,000 个网页 或 100,000 个网页。积分永不过期。

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

所有套餐均包含: 正文提取 · 需要时渲染 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 分钟

## AI agents：常见问题

### 我可以把 WebReaderAPI 加到 Claude Desktop 或 Cursor 里吗？

可以，通过一个暴露 `read_url` 的小型 MCP server。[MCP 页面](https://webreaderapi.com/zh/docs/mcp/) 上有代码和配置片段；你的 API 密钥放在环境变量里。

### 它能和 OpenClaw 一起用吗？

可以，作为 MCP server 放在 OpenClaw 内置的 web_fetch 旁边。[OpenClaw 页面](https://webreaderapi.com/zh/docs/openclaw/) 展示了 OpenClaw 自己文档里的命令。

### agent 能读那些阻止 AI bot 的页面吗？

不能。如果 robots.txt 不允许该页面，API 返回 `blocked_by_robots`；如果网站拒绝，它返回 `target_refused` 并带上该网站的状态。两者都不收费，我们也从不试图绕过拒绝。

### 怎样防止长页面填满上下文窗口？

设置 `max_chars`。Markdown 会在该长度处截断，`word_count` 会告诉 agent 整页有多长，这样它只在需要时请求更多。

### 我需要银行卡或身份证吗？

不需要。WebReaderAPI 不要求身份证、自拍、证件或银行卡。以 BTC, USDT, USDC, ETH, SOL, LTC 支付，最低充值 US$25。

## 来源

1. [新闻稿：AI 爬虫被默认屏蔽](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01)
2. [博客：AI 爬虫与 Agent 的新默认设置](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15)
3. [网页抓取工具](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22)

---

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