Back to Marketplace
FREE
Unvetted
Career Boost

OpenClaw DS 源生成技能 (claw-ds-generator)

"根据用户提供的目标网址(如小说、影视、漫画网站),自动分析网页结构或 API,生成对应的 drpy-node spider 规则 (ds源/var rule={})。当用户要求写源或制作规则时调用。"

New skill
No reviews yet
New skill
🦞 OpenClaw
FREE

Free to install — no account needed

Copy the command below and paste into your agent.

Instant access • No coding needed • No account needed

What you get in 5 minutes

  • Full skill code ready to install
  • Works with 1 AI agent
  • Lifetime updates included
SecureBe the first

Description

--- name: "claw-ds-generator" description: "根据用户提供的目标网址(如小说、影视、漫画网站),自动分析网页结构或 API,生成对应的 drpy-node spider 规则 (ds源/var rule={})。当用户要求写源或制作规则时调用。" --- # OpenClaw DS 源生成技能 (claw-ds-generator) ## 技能说明 本技能用于自动为给定的目标网站生成 `ds源`(即符合 **drpy-node** 标准的爬虫规则 `var rule = {}` JS 文件)。 作为 AI,你不需要手动编写每一个选择器,而是利用浏览、搜索和代码生成能力,分析目标网站的 DOM 结构和网络请求,然后按照特定的 drpy 语法格式输出代码。 ## 触发条件 当用户输入类似于以下指令时触发: - "请根据这个网址 xxx.com 给我最终的 ds 源文件" - "帮我写一个 xxx 的源" - "制作 xxx 网站的 ds 规则" ## 工作流程 1. **接收网址**: 获取用户提供的目标网址 (例如: `https://xxx.com`),并判断源类型(影视、漫画、小说)。 2. **分析网站**: - 使用 `web_fetch` 或 `browser` 等工具访问该网址。 - 如果是传统服务端渲染网站:分析 HTML 结构,提取列表页、详情页、搜索页的关键 CSS 选择器。 - 如果是前后端分离或有反爬网站:利用 `browser` 检查 Network 面板,找出可用的 API 接口(优先使用 API,返回 JSON 更好解析)。 3. **映射与构建规则**: - 依据 drpy-node 的专属解析语法,构建 `var rule = {...}` 对象。 - 请参考工作区中的 `template/ds_template.js`,严格确保 `类型`, `host`, `url`, `searchUrl` 等必填字段的存在。 4. **生成源文件**: - 如果使用 DOM 解析,规则格式需符合 `"列表选择器;标题;图片;描述;链接"` 语法。 - 如果使用 API 或动态请求,可以使用 `async function() { ... }` 处理。 5. **输出结果**: - 将生成的完整 JS 源配置代码以代码块的形式返回给用户。 ## drpy-node 规则语法指南 (非常重要) 为了确保源能在系统中成功运行,AI 生成的规则必须遵循以下特定语法: - **基础格式**: `列表选择器;标题;图片;描述;链接` - **选择器进阶语法**: - `&&` 表示嵌套 (例如 `.title&&a`) - `||` 表示备用 (例如 `img&&data-src||img&&src`) - `:eq(n)` 取索引,`*` 代表全部。 - **特殊属性后缀**: `Text` (提取文本), `Html` (提取内部HTML), `href`, `src`, `style`, `data-*` 等。 - **全局函数 (在 async function 模式中可用)**: - `request(url, options)` - 发起 HTTP GET 请求。 - `post(url, options)` - 发起 HTTP POST 请求,例如 `await post(url, {body: params})`。 - `pdfa(html, rule)` - 解析列表,返回节点数组。例如 `pdfa(html, '.list&&item')`。 - `pdfh(html, rule)` - 解析单节点属性,返回字符串。例如 `pdfh(item, 'a&&Text')`。 - `pd(html, rule)` - 解析并返回绝对链接。 - **动态解析示例 (如果不用字符串简写,使用 async 函数)**: ```javascript 一级: async function (tid, pg, filter, extend) { let [url, params] = this.input.split('?'); let html = await post(url, {body: params}); let items = html.parseX.itemsList; // 假设返回 JSON let d = items.map(item => ({ title: item.title, desc: item.subTitle, url: item.id, img: item.imageURL })); return setResult(d); } ``` ## 执行守则 (Guardrails) - **通用性优先**: 提取的选择器必须具有通用性和稳定性,避免使用如 `class="abc-123 xyz"` 这样混淆或随机的 class。 - **验证必填项**: `rule` 对象中 `title`、`host`、`url` 为必填。 - **输出格式**: 最终输出**必须是 JavaScript 代码**(`var rule = { ... }`),而不是普通的 JSON 数据!

Preview in:

Security Status

Unvetted

Not yet security scanned

Related AI Tools

More Career Boost tools you might like