Skip to content

🎉 v0.4.0 released — web_table: HTML tables as structured rows | 发布日志:网页表格结构化提取 #9

Description

@TYEclipse

🎉 v0.4.0 released — web_table: HTML tables as structured rows

The poll asked what v0.4.0 should add — web_table won the top slot and is now shipped.

What's new

  • web_table — extract the HTML tables of a page as structured rows (arrays of cell strings): the tables counterpart of web_fetch, for spec sheets, pricing pages and comparison charts.
    • Header detection: the first row is the header when it sits in <thead> or every cell is a <th>
    • colspan / rowspan expand into a rectangular grid; the spanning text repeats in every covered slot so rows stay self-contained
    • Defensive parsing: implicit cell/row closes, unclosed tables at EOF, script/style content never reaches a cell, empty tables ignored, nested tables flatten into the containing cell
    • Caps: maxTables (default 5 — or one table by 1-based position), maxRows (default 50), 200 chars per cell
  • Semantics are anchored to an independent Python oracle (25 fixtures, test/anchors-table.py) — expectation values are generated, not hand-inferred.
  • Tests: 97 → 125; coverage ratchet 86.08% → 88.40%.
dsh plugin --profile web add github:TYEclipse/dsh-webfetch#v0.4.0

Still on the bench

The other poll candidates remain open for the next round — web_meta (page metadata pack), web_fetch_many (batch fetch), web_selector (CSS-scoped extraction), web_sitemap (robots/sitemap discovery). If your pick isn't listed, say what you'd add and why.


中文摘要

投票选出的 v0.4.0 头号功能 web_table 已发布:把页面上的 HTML 表格提取为结构化行——表头识别(<thead> 或全 <th>)、colspan/rowspan 网格展开(跨格文本填充到每个覆盖格)、防御式解析(隐式闭合/未闭合/script 内容一律安全)、行列与单元格上限;语义由独立 Python oracle(25 fixture)锚定。测试 97→125、覆盖率 86.08%→88.40%。
安装:dsh plugin --profile web add github:TYEclipse/dsh-webfetch#v0.4.0
下一个版本继续从候选池挑(web_meta / web_fetch_many / web_selector / web_sitemap)——有更好的想法直接说。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions