htmlq
用 CSS 选择器查询 HTML
补充说明
htmlq 从 stdin 读取 HTML,用 CSS 选择器提取文本/属性,类似 jq 之于 JSON。适合脚本化抓取/检查页面。
常用示例
curl -s https://example.com | htmlq 'h1' --text
curl -s https://example.com | htmlq 'a' --attribute href
htmlq 'div.item' < page.html
易错点与排错
- 只读 stdin;用
< file 或管道。
--text 只输出文本,--attribute 输出属性;默认输出 HTML 片段。
- 选择器是 CSS,不是 XPath;复杂匹配用
:has() 等支持的语法。
- 一个选择器匹配多个元素时输出多段;脚本里按行/分隔处理。
- 畸形 HTML 的解析结果可能和浏览器不同;先检查输入。
- 动态渲染的页面需要浏览器/无头工具,不是 htmlq。