拦截页面真实数据接口,按字段精确取回结构化数据
27.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 2672243194/dsh-fetch-data该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 拦截页面真实接口
- 按字段提取数据
- 输出结构化数据
README
由 DeepSeek 最新模型翻译生成dsh-fetch-data
🌐 English | 中文
dsh-fetch-data
DeepSeek Harness 结构化数据提取插件——拦截页面真实调用的数据 API(XHR/fetch JSON),按字段精确取回评论点赞、榜单、价格、表格等结构化数据——这是文本提取器(read_url)扁平化 HTML 时丢失的信息。
read_url 回答"这页讲了什么",fetch_data 回答"这页背后的数据到底是多少"。
为什么做它
| | read_url(文本提取) | fetch_data(本插件) |
| 读什么 | 干净正文 / Markdown | 页面背后的 JSON 数据接口 |
| 输出 | 模型可读的文本 | 结构化字段({标题, 播放量} 一一对应) |
| 强项 | 读文章、读文档 | 精确归属——哪个数字对应哪一行 |
| 弱点 | 扁平化后数字与条目对应关系丢失 | 需要 playwright(浏览器引擎) |
真实案例:小黑盒帖子里 read_url 读出的 "60125" 无法判断是 60 赞+125 收藏还是别的;fetch_data 拦截 /bbs/app/link/tree 直接返回 {user, up, content}——一清二楚。
工具
fetch_data(url, api?, fields?
展开完整文档(README 剩余 1 节)
dsh-fetch-data
🌐 English | 中文
dsh-fetch-data
DeepSeek Harness 结构化数据提取插件——拦截页面真实调用的数据 API(XHR/fetch JSON),按字段精确取回评论点赞、榜单、价格、表格等结构化数据——这是文本提取器(read_url)扁平化 HTML 时丢失的信息。
read_url 回答"这页讲了什么",fetch_data 回答"这页背后的数据到底是多少"。
为什么做它
| | read_url(文本提取) | fetch_data(本插件) |
| 读什么 | 干净正文 / Markdown | 页面背后的 JSON 数据接口 |
| 输出 | 模型可读的文本 | 结构化字段({标题, 播放量} 一一对应) |
| 强项 | 读文章、读文档 | 精确归属——哪个数字对应哪一行 |
| 弱点 | 扁平化后数字与条目对应关系丢失 | 需要 playwright(浏览器引擎) |
真实案例:小黑盒帖子里 read_url 读出的 "60125" 无法判断是 60 赞+125 收藏还是别的;fetch_data 拦截 /bbs/app/link/tree 直接返回 {user, up, content}——一清二楚。
工具
fetch_data(url, api?, fields?, maxItems?) — 捕获页面数据接口并提取字段
| 参数 | 类型 | 默认 | 说明 |
| url | string | 必填 | 要捕获数据接口的 http(s) 页面 |
| api | string | 自动 | 从结构模式的接口清单里指定一个(如 "/x/web-interface/ranking/v2");省略时自动选择 |
| fields | string | 结构模式 | 逗号分隔的字段路径,数组用 []:"data.list[].title,data.list[].view" |
| maxItems | number | 20 | 每个提取字段的数组截断数(1–100) |
两种模式:
1. 结构模式(不传 fields)——返回自动选中接口的 2 层结构 + 全部 JSON 接口清单(路径·大小·是否含数组),模型可再带 api= 指定:页面 25 个 JSON 接口选中: /x/web-interface/ranking/v2 (137763B)
结构: { code: number, message: string, ttl: number, data: { note: string, list: [100] { aid: number, ... } } }
接口清单(可传 api= 指定其中一个再提取字段): /x/web-interface/nav · 249B /x/vip/ads/materials · 1140B · 含数组 ...
2. 字段模式(带 fields)——精确提取,数组按 maxItems 截断:
data.list[].title (前5条):
用MC还原《神的随波逐流》 【B萌应援】 WasteTheFallen丨首曝PV&实机演示:凝视深渊,人性渐泯 ...
data.list[].stat.view (前5条):
2428730
10326863
...
自动选接口逻辑
对捕获的 JSON 按"含数组 + 体量最大"评分(数据接口通常大且含数组,埋点/配置接口小),无数组时退而取最大。可 api= 手动覆盖。
真实世界验证(2026-08-16,v0.1.3)
14 站全量实测:12 OK / 2 纯静态站预期报错 / 0 崩溃——由 multi-site.mjs(已提交)驱动。自动滚动(懒加载捕获)+ JSONP 解析已实测。
| 站点 | 结果 |
| B 站排行榜 | ✅ 自动选中 /x/web-interface/ranking/v2(139KB,list[100]),提取标题+播放量一一对应 |
| 掘金 | ✅ 自动选中 /recommend_api/v1/article/recommend_all_feed,提取文章标题 |
| 微博 | ✅ 捕获 /ajax/feed/hottimeline(240KB)+ /ajax/statuses/config(745KB,超大配置边界) |
| QQ 新闻 | ✅ 捕获 /getQNChannels(304KB,36 个接口) |
| 豆瓣 | ✅ 捕获 /rexxar/api/v2/search/hots |
| 淘宝 | ✅ 捕获 20 个 JSON 接口(含 mtop 配置 824KB,超大配置边界) |
| 京东 | ✅ 捕获 /wp-json/news/list + /category/get |
| 知乎/百度/CSDN/网易/小黑盒 | ✅ 捕获各自 JSON 接口(部分为配置/菜单接口——用结构模式清单选数据接口) |
| example.com / 阮一峰博客(纯静态) | ✅ 返回清晰"未捕获到任何 JSON 接口",不崩溃 |
- 18 个零依赖断言(字段路径提取器/选择逻辑/结构摘要/静态资源过滤/截断精确性/description 守卫/JSONP 解析)+ 22 个真实拦截断言(含滚动触发懒加载捕获 + JSONP 提取)全绿。
为什么省 token
- 两段式:结构模式只返回"菜单"(不是 137KB 全量),字段模式只返回指定列——绝不 dump 全量 JSON;
- 固定开销精简:工具 description 压缩到约 300 字符(唯一每次调用都发送的内容);静态 schema(KV 缓存友好);
- 清单排序:含数组 + 体量大的接口排最前,模型一眼找到数据接口;静态资源 JSON(B 站 /bfs/svg-next/...)已过滤并内联计数;
- 尺寸格式化:136KB 而非 139070B;数组按 maxItems 截断、值限 200 字符;
- 紧凑文本 render;一行式清晰报错。
架构(DSH 合规)
- 浏览器单例复用,卸载时 ctx.effect 关闭(时间可组合性);
- 每次调用独立浏览器 context——跨调用不残留 cookie/状态,降低反爬波动;
- domcontentloaded + settle 等待替代 networkidle(心跳轮询站永不空闲);
- 自动滚动触发懒加载数据接口(feed/无限列表);JSONP 响应自动剥离包裹;
- 协作超时:timeoutMs + exec.signal;
- 除 Node 内置外零依赖;playwright 是必需引擎(拦截是核心,不是可选增强)。
安装
playwright 是本插件必需(网络拦截核心) cd
npm i playwright && npx playwright install chromium
添加插件
dsh plugin --profile web add github:2672243194/dsh-fetch-data
边界
- 登录墙接口拿不到(与 read_url 同边界);
- 每个站的接口结构不同——用结构模式的接口清单发现;
- 自动滚动 + JSONP 已覆盖多数懒加载/JS 延迟数据;剩余缺口(登录墙、纯 SSR 页面)会返回明确报错而非瞎猜。
支持
如果 dsh-fetch-data 对你有帮助,欢迎在 GitHub 点个 ⭐ Star。完全免费开源(MIT);Star 数量是我判断是否继续投入迭代的直接依据。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
2672243194/dsh-fetch-data
拦截页面真实数据接口,按字段精确取回结构化数据
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目