RSS 与 Sitemap 站点发现
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-rss-sitemap。
技能介绍
要解决什么问题
针对指定网站做内容抓取或「最新文章」类任务时,如果从首页盲目爬链,既慢又容易漏掉深层 URL,还会和站点的真实更新节奏脱节。很多站点其实在根路径或 robots.txt 里已经暴露了 sitemap、RSS、Atom 等机器可读索引,但 Agent 往往直接上通用爬虫,浪费请求也拿不到按时间排序的条目。
技能如何工作
本技能把「先发现索引、再定爬取前沿」写成固定流程:
- 将目标规范化为站点 origin(如
https://example.com)。 - 在宿主机具备 Node.js 18+ 且启用 OpenClaw exec 时,优先运行内置脚本
scripts/preprocess-rss-sitemap.js(无 npm 依赖,使用 Node 内置fetch),输出结构化 JSON。 - 手动探测时,优先请求
/sitemap.xml、/sitemaps.xml、/atom.xml、/rss.xml,并解析/robots.txt中的Sitemap:指令。 - 只处理 HTTP 成功且内容为 XML 类资源的响应;解析时尽量用真实 XML 解析器,避免用正则硬啃整份文档。
- 对 sitemap:递归处理
<sitemapindex>中的嵌套 sitemap,从<urlset>提取 URL 及lastmod等元数据;对 RSS/Atom:提取条目链接、标题、日期等,链接优先于 guid/id。 - 将发现的 URL 或 feed 条目作为爬取前沿,再视需要退回常规页面爬取;用户要「最新发布」时,按
pubDate/ Atomupdated/published/ sitemaplastmod等可用字段降序排序,无日期时优先信任 feed 的列表顺序。
适用边界与注意点
若站点屏蔽请求、依赖 JavaScript 渲染或需要登录,内置脚本的 fetch 可能失败,此时应改用可用的 HTTP、搜索或浏览器类工具取回内容,再沿用同一套解析与排序策略。无论哪种路径,都应遵守 robots、速率限制、鉴权边界与用户指令;若常见索引均不存在,应明确说明已回退到普通爬取或搜索,并保留每条 URL 的来源(feed 或 sitemap)以便后续说明。
使用场景
- Agent 被指定只抓某一域名时,需先列出 sitemap 与 RSS/Atom 再定爬取 URL 清单
- 用户问「某站最近发了什么文章」,需从 feed 或 sitemap 的日期字段排序后返回最新条目
- 全站覆盖任务开始前,要从 robots.txt 的 Sitemap 指令补全嵌套 sitemap 里的页面 URL
- 内置 Node 脚本因反爬失败时,改用浏览器取回 XML 后仍按同一套条目解析规则建爬取前沿
适合人员
- 做竞品或资讯监控、需要按时间拉取指定站点更新列表的研究与运营
- 编写或调试站点爬虫的工程师,希望默认先走 sitemap/RSS 再回退链式爬取
- 用大模型做「只读某官网文档/博客」任务的产品或解决方案集成人员
- 负责合规抓取、需对照 robots 与索引来源标注 URL 出处的数据采集团队成员