核心思路
- 安装:通过 pip 直接安装。
- 验证:使用一个简单的内置示例,确保环境正确。
- 启动:运行一个快速示例,立即看到效果。
第一步:极速安装 (5分钟内完成)
确保你的环境是 Python 3.8+,然后通过 pip 安装。

# Windows: openclaw_env\Scripts\activate # Linux/Mac: source openclaw_env/bin/activate # 2. 使用官方 PyPI 源安装 (最稳定快速的方式) pip install openclaw -i https://pypi.org/simple --upgrade # 如果希望安装完整功能(包括OCR等),可以安装完整版(稍慢) # pip install "openclaw[all]" -i https://pypi.org/simple --upgrade
第二步:一分钟验证和快速启动
安装成功后,运行一个最简单的测试脚本,直接抓取网页标题,验证安装是否成功。
创建一个名为 quick_start.py 的文件,写入以下内容:
import asyncio
from openclaw import claw
async def main():
# 使用内置的 DuckDuckGo 示例页进行极速测试
url = "https://duckduckgo.com/html/?q=openclaw"
# 定义要抓取的数据结构:只要页面标题
schema = {
"title": "title"
}
print("正在极速抓取测试页面...")
try:
# 使用 claw 函数,最简洁的调用方式
result = await claw(url, schema)
print("✅ 抓取成功!")
print(f"页面标题:{result.get('title')}")
except Exception as e:
print(f"❌ 抓取失败:{e}")
# 运行异步函数
if __name__ == "__main__":
asyncio.run(main())
在终端运行:
python quick_start.py
预期输出:
正在极速抓取测试页面...
✅ 抓取成功!openclaw at DuckDuckGo
看到这个输出,恭喜你!OpenClaw 已经成功安装并运行。
第三步:进阶快速示例 - 抓取真实网站数据
让我们用 5 行代码抓取一个真实网站(例如豆瓣电影)的列表数据,这展示了 OpenClaw 的核心能力。
创建一个 douban_movie.py 文件:
import asyncio
from openclaw import claw
async def main():
url = "https://movie.douban.com/top250"
schema = {
"items": [{
"title": ".title", # CSS 选择器
"rating": ".rating_num",
"quote": ".inq"
}]
}
result = await claw(url, schema)
# 打印前3条结果
for item in result['items'][:3]:
print(f"电影:{item['title']},评分:{item['rating']},短评:{item.get('quote', '无')}")
asyncio.run(main())
运行它,你会立刻看到豆瓣电影 Top250 列表中前三部电影的信息被提取出来。
核心要点与高级技巧
-
解决动态页面问题:如果页面是 JavaScript 动态渲染的,只需设置
driver='chromium':result = await claw(url, schema, driver='chromium')
OpenClaw 会自动处理无头浏览器。
-
使用预训练模型(智能提取):对于高度非结构化的页面,可以尝试使用内置的预训练模型进行“智能识别”:
from openclaw.models import call_predefined_model # 识别商品信息 result = await call_predefined_model('product', html_content, url) -
快速调试:在
claw函数中添加return_driver=True可以返回浏览器对象,用于手动调试。
常见问题与解决
- 安装慢或失败:
- 使用清华源:
-i https://pypi.tuna.tsinghua.edu.cn/simple - 先单独安装
playwright:pip install playwright && playwright install chromium
- 使用清华源:
- 动态页面抓取超时:增加
page_load_timeout参数,page_load_timeout=30000(30秒)。 - 内存/CPU 占用高:对于大量抓取任务,建议在脚本中显式关闭浏览器驱动,或使用任务队列。
按照这个指南,你可以在 10分钟 内从零开始到成功抓取第一个复杂网页,之后可以再深入阅读官方文档,学习更高级的特性,如自定义模型、分布式抓取等。
接下来可以尝试:修改上面的豆瓣示例,抓取更多页(观察分页URL规律),或者换一个你感兴趣的目标网站(如新闻、电商商品列表)进行练习。