OpenClaw content-extract 技能实战:用 TaoToken 统一 Key 打通网页正文提取与广告过滤链路

发布时间:2026/9/28 7:07:24

OpenClaw content-extract 技能实战:用 TaoToken 统一 Key 打通网页正文提取与广告过滤链路 1. 网页正文提取为什么总是不干净做数据采集和知识库构建的朋友大概率都遇到过这种情况用爬虫把网页 HTML 抓下来满心欢喜地丢给模型做摘要结果模型一本正经地总结了一堆“点击领取优惠券”“相关阅读xxx”“版权所有”之类的内容。正文没提多少广告和导航倒是抓得挺全。这个问题的根源在于现代网页早就不是一篇干净的文章了。一个典型的新闻详情页正文可能只占整个 HTML 的 20%剩下的 80% 是顶部导航、侧边广告、内嵌推广、底部推荐、评论区、版权声明。传统的正则匹配和简单 DOM 规则面对千变万化的 class 命名和嵌套结构基本是按下葫芦浮起瓢——这个站调好了换个站又失效。OpenClaw 的 content-extract 技能就是冲着这个痛点来的。它把网页当成一个视觉语义的整体来理解而不是死抠标签。它能判断哪块区域是“大段连贯文字”哪块是“高链接密度的导航”哪块是“带促销词的广告”最终输出一份干净的 Markdown。适合谁用做舆情监控的、搭个人知识库的、给大模型准备训练数据的以及任何需要把网页变成可读文本的人。但这里有个现实问题content-extract 这类技能背后要调用模型做视觉和语义分析你得有个稳定的模型 API 通道。如果每个技能都单独配一套 Key管理起来很麻烦。这篇就讲怎么用 TaoToken 统一 Key 把这条链路打通从配置到验证一次跑通。2. TaoToken 统一 Key 的前置准备在动手配 OpenClaw 之前先把模型调用通道准备好。TaoToken 在这里扮演的角色是统一的 API 入口——你不需要为每个模型或每个技能单独申请不同的 Key一个 Key 就能覆盖 content-extract 背后需要的模型调用。先注册并拿到 API Key。访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 完成账号注册然后进控制台创建 Key。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 页面点创建复制生成的 Key 保存好。API Keys 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 后续要加白名单或换 Key 都从这里进。TaoToken 的 API 基础地址是 https://taotoken.net/api 注意这个地址不带 UTM 参数配置里直接写这个就行。它兼容常见的 OpenAI 风格调用格式所以 OpenClaw 里配置 base_url 和 api_key 就能接上。注意API Key 不要硬编码在会提交到 Git 的配置文件里。建议用环境变量注入或者放在本地不纳入版本管理的 .env 文件中。如果你还没想好 content-extract 具体用哪个模型可以先到模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 试一下不同模型对网页文本的理解效果挑一个在中文语义和长文本上表现稳定的。选好之后把模型名称记下来下一步写进 config.toml。3. OpenClaw content-extract 的 config.toml 骨架OpenClaw 的技能配置走 config.toml 文件。下面这份骨架是我实测下来比较稳的结构你可以直接复制后改 Key 和模型名。核心思路是把模型调用统一指向 TaoToken 的 API 地址content-extract 技能只负责提取逻辑模型通道交给 TaoToken。# ~/.openclaw/config.toml [llm] # 统一走 TaoToken 的 API 通道 provider openai-compatible base_url https://taotoken.net/api api_key ${TAOTOKEN_API_KEY} # 从环境变量读取别写死 model gpt-4o-mini # 换成你在模型对话里选定的模型 timeout 60 max_retries 3 [skills.content-extract] enabled true # 输出格式固定为 markdown output_format markdown # 是否保留正文中的图片 include_images false # 是否保留超链接 include_links true # 显式排除的 CSS 选择器按站点补充 exclude_selectors [ .ad, .ads, .advertisement, #sidebar, .sidebar, .comments, #comments, .related-posts, .recommend ] # 显式指定正文容器命中则优先使用提升精度和速度 include_selectors [ article, main, .article-content, .post-content, .entry-content ] # 页面语言帮助语义模型判断 language zh # 单次提取最大字符数防止超长页面拖慢 max_length 20000 [skills.content-extract.render] # 是否启用 JS 渲染动态页面需要 enable_js true # 渲染等待时间毫秒 wait_ms 1500几个参数值得单独说。base_url指向 TaoToken 的 API 地址后OpenClaw 所有走 llm 段的技能都会用这个通道不用每个技能单独配。exclude_selectors和include_selectors是提升提取质量的关键——前者屏蔽已知噪音后者锁定正文区域。enable_js打开后能处理动态加载的页面但会慢一些静态页面可以关掉。配置写完后把 API Key 注入环境变量export TAOTOKEN_API_KEY你的KeyWindows 下用set TAOTOKEN_API_KEY你的Key或者写进系统环境变量。确认环境变量生效echo $TAOTOKEN_API_KEY能打印出 Key 就说明注入成功。这一步别跳过很多人配置不生效就是因为环境变量没读到。4. 端到端验证从 URL 到干净 Markdown配置就绪后跑一次完整的提取验证。OpenClaw 的 content-extract 可以通过 CLI 调用也可以走 Python SDK。先用 CLI 快速验证通道是否通。openclaw skill run content-extract \ --url https://example.com/news/article-123 \ --output result.md如果配置正确命令会输出提取进度最后在当前目录生成 result.md。打开看看内容——正常情况下导航栏、侧边广告、底部推荐、评论区都应该被过滤掉只剩下标题和正文段落格式是标准 Markdown。想更细粒度地控制用 Python SDK 调用import os from openclaw import OpenClawClient client OpenClawClient( base_urlhttps://taotoken.net/api, api_keyos.environ[TAOTOKEN_API_KEY] ) result client.skills.extract( skillcontent-extract, urlhttps://example.com/news/article-123, options{ format: markdown, include_images: False, exclude_selectors: [.ad, .comments, #sidebar], language: zh } ) print(result.content)跑通后result.content就是干净的 Markdown 正文。我试过拿一个结构很乱的科技新闻页做对比原始 HTML 里正文只占一小块周围全是推广和推荐提取后输出的 Markdown 只有标题和四段正文广告和推荐一条没带进来。验证成功的标志有三个一是输出是合法 Markdown标题层级正确二是正文段落完整没有被截断三是广告、导航、评论区的文字没有混进来。如果这三点都满足说明 TaoToken 通道和 content-extract 技能已经打通。5. 本篇常见错误排查配置和调用过程中有几个坑出现频率特别高提前列出来省得你踩。报 401 或鉴权失败八成是 API Key 没读到。先确认echo $TAOTOKEN_API_KEY有输出再检查 config.toml 里写的是${TAOTOKEN_API_KEY}而不是硬编码的空字符串。如果 Key 本身没问题去 API Keys 页面确认这个 Key 没有被禁用或删除。提取结果为空或只有标题通常是include_selectors命中了但容器里没内容或者max_length设太小把正文截没了。先把include_selectors清空让技能走全页智能识别同时把max_length调到 50000 试一次。如果还不行检查页面是不是需要登录才能看到正文。广告没过滤干净自动识别对某些伪装成正文的推广块可能失效。这时候用exclude_selectors手动补刀。打开浏览器开发者工具找到广告块的 class 或 id加进排除列表。比如某站的推广块是div classpromo-box就加.promo-box。动态内容抓不到确认enable_js true且wait_ms足够长。有些页面加载慢1500 毫秒不够调到 3000。如果还是不行说明页面交互复杂比如要点击“展开全文”这种情况先用 Playwright 拿到渲染后的 HTML再通过html参数传给 content-extract绕过页面获取环节。调用超时长页面加 JS 渲染容易超时。把timeout从 60 调到 120同时确认 TaoToken 通道本身没有限流。如果批量提取控制并发数别一次性发太多请求。中文乱码language设成zh并确认传入的 HTML 是 UTF-8 编码。如果是从其他工具拿到的 HTML先做一次编码转换再传。排查顺序建议从鉴权开始再到选择器最后到渲染参数。大部分问题集中在前两步。6. 把这条链路用起来content-extract 加 TaoToken 统一 Key 的组合本质上解决的是“网页到干净文本”这一段脏活。提取出来的 Markdown 可以直接进知识库、喂给摘要模型、或者作为训练数据预处理的一环。如果你后面要做长期的编码或 Agent 任务比如批量处理成千上万个页面、把提取结果自动入库可以考虑 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它在调用配额和并发上更适合持续跑的任务。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的参数说明和示例遇到配置细节可以对照查。实际用的时候有个小技巧把exclude_selectors按站点维护成不同的配置文件提取前根据域名加载对应的排除规则。这样通用识别兜底站点规则补刀提取纯净度会明显上一个台阶。另外提取结果建议加一层缓存相同 URL 短期内不重复调用既省配额又快。
延伸阅读

更多相关文章

2026/9/28 7:02:24

检测报告管理程序全流程:从模板设计到签发放行的CNAS/CMA合规要点

1. 报告管理程序为何值得单独成文:我在评审现场看到的连锁反应写实验室体系文件这些年,如果让我从几十份程序文件里挑一份最值得单独打磨的,我会选《检测报告管理程序》。原因不是它技术含量最高,而是它在CNAS/CMA实验室建设里最容…

2026/9/28 8:12:26

SSM、Transformer与RNN:统一序列建模的三大坐标

1. 这不是又一个“Transformer vs RNN”的老调重弹,而是重新理解序列建模的底层坐标系你有没有试过,在深夜调试一个RNN模型时,突然发现梯度消失得比咖啡凉得还快;或者在跑完一个12层Transformer后,盯着显存占用率98%的…

2026/9/28 8:12:26

实测7个AI论文生成网站:从内容生成到LaTeX模板一键适配

写论文的人都知道,最折磨人的往往不是“没内容可写”,而是把内容塞进一堆格式规范里:标题字号、摘要结构、参考文献样式、图表位置,每一项都能让你在本该看数据的周五晚上对着期刊模板干瞪眼。而这两年AI写论文相关的工具越来越多…

2026/9/28 8:12:26

网站没有备案是假的吗速查手册

网站没备案是假的吗?3个信号判断真假,建站到底多少钱 网站做好了没人访问,这感觉比丢钱还难受。很多老板问我,我花了几万块做的站,搜“网站没有备案是假的吗”一看,我的站竟然打不开,或者显示违规信息,这是不是网站就是假的?更扎心的是,当初报价时…

2026/9/28 8:12:26

IM消息转发子服务:从拆分到高并发落地的完整复盘

做IM后端这几年,我最大的一个体会是:消息转发这层,看着只是把A的话传给B,一旦上了规模、上了多端、上了群聊,它就成了整个系统里最容易翻车的部位。早期我们第一版IM甚至没有独立的“消息转发子服务”,代码…

2026/9/28 8:12:26

FPGA网表加密实战:紫光同创PDS中ADF文件生成与安全交付指南

1. 为什么FPGA项目需要“黑匣子”式交付做FPGA这行十几年,最头疼的从来不是写代码,而是交付。你辛辛苦苦调了三个月的时序,好不容易把图像处理流水线跑到200MHz,结果客户拿到源码转头就交给别人改,改崩了还回来找你。更…

2026/9/28 8:07:26

9.9华为OD机试真题 新系统 - 受限任务分配 (Java/Py/C/C++/Js/Go)

受限任务分配 2026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型 点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解 题目描述 某部门有一批待处理任务,数量为 x;系统按轮次处理任务…

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/28 6:07:41

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/28 0:02:03

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑 改个需求建站公司拖一周,后台改个文案还得再交一笔“技术维护费”。这种憋屈事儿,做外贸的朋友太熟悉了。很多老板在找广州外贸网站建设推广服务商时,光盯着首页好不好看,却忽略了从零搭建一个能…

2026/9/28 0:02:04

搞懂百度竞价推广价格,网站性能优化别掉链子

搞懂百度竞价推广价格,网站性能优化别掉链子 网站突然打不开,浏览器弹出红色警告“此网站存在安全风险”,后台一看全是乱码代码和奇怪的跳转链接。这种网站被黑挂马的绝望感,很多刚转行做网站的朋友都经历过,尤其是那些为了省几百块钱服务器费用的新手。…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/28 1:59:25

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑