OpenClaw 与 AnyAPI.ai:如何在不失去理智的情况下抓取网页
Source: Dev.to
让我们实话实说。网页爬取过去是一场充满破碎 CSS 选择器和与站点更新的猫捉老鼠游戏的噩梦。如果你厌倦了因为开发者把 div 改成 section 而导致爬虫崩溃,那么你来对地方了。
今天我们把 OpenClaw(眼睛和手)和 AnyAPI.ai(大脑)结合在一起。这套组合让你无需编写一行脆弱的选择器代码,就能把任何混乱的网站转换为整洁的 JSON。
OpenClaw 是什么?
OpenClaw 是一个开源工具,使用 AI 代理像人类一样浏览网页。你不需要告诉它 “在第二个 div 里找第三个 span”,只要说 “给我商品价格”。
它会处理滚动、点击以及杂乱的 HTML。为了真正理解它看到的内容,它需要与大型语言模型(LLM)对话。这通常会因为 API 密钥和地区封锁而变得烦人。
进入 AnyAPI.ai:终极 LLM 快捷方式
AnyAPI.ai 基本上是 AI 模型的万能遥控器。你不必为 OpenAI、Anthropic、Google 等分别管理账号,只需要一个密钥。
- 统一计费 – 在一个地方付款,即可使用 GPT‑4o、Claude 3.5、Llama 3 等。
- 兼容 OpenAI – 使用与 OpenAI 完全相同的请求格式,只需更改一个 URL,就能把它接入几乎所有 AI 工具。
- 无地域限制 – 如果你所在地区某些提供商被屏蔽,AnyAPI 充当合法的桥梁。
3 分钟完成配置
配置(.env 方式)
最简洁的做法是创建一个 .env 文件,并“欺骗” OpenClaw 以为它在和 OpenAI 通信,实际却通过 AnyAPI 路由。
# Redirect OpenClaw to the AnyAPI gateway
BASE_URL="https://api.anyapi.ai/v1"
# Your AnyAPI key
ANYAPI_API_KEY="your_actual_anyapi_key"
# Pick your favorite model from the AnyAPI list
MODEL_NAME="gpt-4o"
Python 代码
下面是一段简单脚本,帮助你快速上手。没有复杂的配置,纯粹是数据提取。
from openclaw import OpenClaw
import asyncio
import os
# Point the base_url to AnyAPI
claw = OpenClaw(
api_key=os.getenv("ANYAPI_API_KEY"),
base_url="https://api.anyapi.ai/v1",
model="gpt-4o"
)
async def scrape_site():
# Define the schema you want back
my_schema = {
"title": "string",
"price_usd": "float",
"availability": "boolean"
}
print("Working my magic...")
result = await claw.scrape(
url="https://example-shop.com/product",
schema=my_schema
)
print(f"Here is your data: {result}")
if __name__ == "__main__":
asyncio.run(scrape_site())
提升体验的专业技巧
- 关注 token 消耗 – 网页中充斥着大量无用代码。使用 AnyAPI 上的
gpt-4o-mini等小模型,在爬取成千上万页面时可以省下不少费用。 - 超时设置很重要 – AI 需要几秒钟来“思考”页面内容。给脚本设置一个宽松的超时(例如 60 秒),而不是默认的 10 秒。
- 模型切换 – 如果 GPT‑4o 在处理某个特定表格时表现不佳,只需在 AnyAPI 设置中把
MODEL_NAME改为claude-4-5-sonnet,无需改动代码。
最后感想
将 OpenClaw 与 AnyAPI.ai 结合使用,你本质上构建了一个“面向未来”的爬虫。即使网站明天彻底改版,AI 仍然能够找到你需要的数据。