Skip to content

Releases: 2672243194/dsh-fetch-data

v0.1.3

Choose a tag to compare

@2672243194 2672243194 released this 16 Aug 12:23

v0.1.3(自动滚动 + JSONP 支持)

新增

  • 自动滚动捕获懒加载接口(autoScroll 默认开):分步滚动触发 feed/无限列表延迟接口,高度不再增长提前退出——14 站实测接口捕获更全(微博 12→15、网易 5→20、淘宝 12→20)
  • JSONP 支持:application/javascript 响应自动剥离 callback({...}) 包裹(含 window.__x(...)、尾分号)
  • 解析逻辑抽为纯函数 parseApiBody(JSON → JSONP → null)

测试:18 零依赖断言(+parseApiBody 7 项)+ 22 真实拦截断言(+JSONP 提取/滚动懒加载捕获)全绿;14 站实测 12 OK / 2 静态站预期报错 / 0 崩溃

已知边界:滚动后个别站捕获到超大配置接口(微博 745KB/淘宝 824KB)会被 auto-pick 选中——清单已排序,模型 api= 手动指定即可

v0.1.2

Choose a tag to compare

@2672243194 2672243194 released this 16 Aug 12:14

v0.1.2(省 token 原则复审)

省 token 优化

  • description 精简 ~57%(约 700 → 300 字符)——每次调用都发送的固定开销最大单项
  • 接口清单按「含数组 + 体量大」排序,模型先看到数据接口
  • 静态过滤透明化:页面 20 个 JSON 接口(7 个静态资源已过滤)
  • size 格式化 139070B → 136KB
  • maxApis 上限真正生效(QQ 36 接口不再无限收集)

修复

  • truncated 误报(恰好等于 maxItems 未截断时误标)
  • containsArray 深度 3 → 5(深层数组不漏标)

测试:15 零依赖断言 + 17 真实拦截断言全绿;B 站真实链路复验通过

v0.1.1

Choose a tag to compare

@2672243194 2672243194 released this 16 Aug 12:09

v0.1.1(14 站真实世界测试驱动的修复)

修复

  • 页面加载失败不再崩溃(goto 超时/不可达返回明确错误,实测 2 站崩溃全部消除)
  • networkidle → domcontentloaded + settle 等待:持续轮询站(掘金/淘宝/QQ 新闻/阮一峰)不再 30s 超时,14 站全量测试 4 分钟 → 51 秒
  • 静态资源 JSON(B 站 /bfs/svg-next 图标配置)不再污染 auto-pick
  • 字段提取全空自动重试一次(偶发风控如 B 站 -412 可自愈),仍失败给出诊断提示
  • 每次调用独立浏览器 context(消除跨调用状态污染)

测试:13 零依赖断言 + 14 真实拦截断言全绿;14 站实测 12 OK / 2 静态站预期报错 / 0 崩溃

验证脚本:multi-site.mjs(已提交,可复跑)

v0.1.0

Choose a tag to compare

@2672243194 2672243194 released this 16 Aug 11:45

v0.1.0(首个版本)

fetch_data(url, api?, fields?, maxItems?) — 结构化数据提取插件(DSH 生态首创「拦截页面数据 API」定位)

  • Playwright 拦截页面所有 JSON 响应(XHR/fetch),自动选中「含数组且最大」的数据接口
  • 结构模式(不带 fields):返回选中接口 2 层结构 + 全部接口清单,模型可 api= 手动指定
  • 字段模式(带 fields):点号+[] 通配字段路径精确提取,数组按 maxItems 截断
  • 紧凑 render、静态 schema(KV 缓存友好)、ctx.effect 浏览器清理、协作超时

测试:11 零依赖断言 + 11 真实拦截断言;B 站排行榜真实提取验证(ranking/v2,137KB list[100])