乐于分享
好东西不私藏

OpenClaw 实战:用原生工具 web_fetch 关键词搜索,自动写入飞书多维表格

OpenClaw 实战:用原生工具 web_fetch 关键词搜索,自动写入飞书多维表格

🔍 OpenClaw 实战:用 web_fetch 关键词搜索,自动写入飞书多维表格

OpenClaw 通过原生工具 web_fetch 搜索网页,再通过 exec 调用飞书 API,自动创建多维表格并批量写入数据。

🎯 从搜索到入库,一条工具链搞定。web_fetch 抓取网页 → exec 调用飞书 API 建表 → 批量写入 → 设置权限,全自动。

📌 背景

今天的任务:搜索「微信公众号 skills」相关的热门文章,自动创建飞书多维表格,把搜索结果写进去。


一、搜索网页:web_fetch ≠ 浏览器自动化

web_fetch 是什么?

OpenClaw Agent 自带 web_fetch工具,走 HTTP 请求直接抓取网页内容。和 Chrome 扩展的浏览器自动化 完全不同

对比
web_fetch
Chrome 扩展
原理
HTTP 请求
控制真实浏览器
需要 Chrome
❌ 不需要
✅ 需要
速度
能处理 JS 渲染
适合场景
抓取静态页面、API 调用
需要登录、点击、填表

搜索引擎踩坑

用 web_fetch 搜索时,不同搜索引擎表现差异很大:

搜索引擎
结果
原因
Google
❌ 被拦截
返回空白页面
Bing
❌ 被拦截
弹验证码
DuckDuckGo
✅ 可用
对爬虫友好
百度
✅ 可用
但链接是跳转链接

🕳️ 百度搜索的坑:跳转链接

百度返回的链接不是真实 URL,而是 baidu.com/link?url=…格式的跳转链接。需要解析 302 重定向拿到真实地址。

# web_fetch 抓取百度搜索结果web_fetch("https://www.baidu.com/s?wd=微信公众号+skills+教程+自动发布")# 解析百度跳转链接,获取真实 URLcurl -sI -o /dev/null -w '%{redirect_url}' "http://www.baidu.com/link?url=xxx"

二、获取飞书 API Token

飞书所有 API 调用都需要 tenant_access_token,用应用的 AppID + AppSecret 换取:

curl -X POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal \  -H "Content-Type: application/json" \  -d '{"app_id":"你的AppID","app_secret":"你的AppSecret"}'

返回示例:

{  "tenant_access_token": "t-xxxxxxxx",  "expire": 7200}

⚠️ Token 有效期 2 小时,过期需要重新获取。


三、创建飞书多维表格

curl -X POST https://open.feishu.cn/open-apis/bitable/v1/apps \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{"name":"公众号skills"}'

返回两个关键值:

  • app_token
    — 表格的唯一标识
  • default_table_id
    — 默认数据表的 ID

后续所有操作都需要这两个值。


四、配置表格字段

默认创建的表格有「文本、单选、日期、附件」四个字段,需要调整成我们要的结构。

1. 删除不需要的字段

curl -X DELETE ".../fields/{field_id}" \  -H "Authorization: Bearer $TOKEN"

2. 重命名字段

curl -X PUT ".../fields/{field_id}" \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{"field_name":"标题","type":1}'

⚠️ 踩坑:PUT 请求必须带 type字段!只传 field_name 不传 type 会报 validation failed。

3. 添加新字段

# 添加链接字段(type=15)curl -X POST ".../fields" \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{"field_name":"链接","type":15}'# 添加摘要字段(type=1)curl -X POST ".../fields" \  -d '{"field_name":"摘要","type":1}'

五、批量写入记录

curl -X POST ".../records/batch_create" \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{    "records": [      {        "fields": {          "标题": "文章标题",          "链接": {"text":"查看文章","link":"https://example.com/article"},          "摘要": "文章摘要内容..."        }      }    ]  }'

💡 URL 字段格式

URL 类型字段的值格式是 {“text”:”显示文本”,”link”:”链接地址”},不是普通字符串。


六、设置编辑权限(关键!)

应用创建的表格,用户默认 只有只读权限。必须用 API 设置链接分享权限,否则打开表格什么都改不了:

curl -X PATCH \  "https://open.feishu.cn/open-apis/drive/v1/permissions/{app_token}/public?type=bitable" \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{    "external_access_entity": "open",    "security_entity": "anyone_can_view",    "comment_entity": "anyone_can_view",    "share_entity": "anyone",    "link_share_entity": "anyone_editable"  }'

🕳️ 踩坑记录

#
原因
解决方案
1
创建多维表格报错 99991672
飞书应用缺少权限
去开放平台开通 bitable:app权限
2
字段重命名报 validation failed
PUT 只传了 field_name
必须同时传 type字段
3
百度搜索链接打不开
返回的是跳转链接
用 curl -I 解析 302 重定向
4
表格创建后无法编辑
应用创建的默认只读
用 API 设置 link_share_entity
5
Google/Bing 搜索失败
HTTP 请求被拦截
改用 DuckDuckGo 或百度

📊 完整调用链路

🔍 搜索网页(web_fetch + 百度)提取文章标题/链接/摘要🔑 获取飞书 Token(AppID + AppSecret)📊 创建多维表格(POST /bitable/v1/apps)拿到 app_token + table_id🔧 配置字段(DELETE/PUT/POST /fields)📝 批量写入记录(POST /records/batch_create)🔓 设置编辑权限(PATCH /permissions)✅ 完成!打开飞书即可查看和编辑


💭 写在最后

这个流程的核心思路是:把 AI Agent 当成 API 调用的编排器。

搜索引擎、飞书 API、数据处理 — 每一步都是标准的 HTTP 请求,AI 负责把它们串起来,处理中间的数据转换和异常。不需要浏览器,不需要 UI,纯后端链路。

这种模式特别适合:

  • 定期抓取信息并归档
  • 自动化数据录入
  • 跨平台数据同步

下次试试让 AI 定时执行这个流程,实现全自动的信息收集 🎯


— 勇敢牛牛AI赋能· OpenClaw ✖️飞书多维表格实战教程 —

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » OpenClaw 实战:用原生工具 web_fetch 关键词搜索,自动写入飞书多维表格

猜你喜欢

  • 暂无文章