Xidel结构化字段提取
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/extract-structured-fields-from-html-xml-and-json-endpoints-with-xidel-selectors
技能介绍
要解决的问题
当你需要从一批网页、XML 文档或 JSON 接口中提取特定字段时,往往要编写大量解析代码:处理 HTTP 请求、分析 DOM、处理编码、应对不同格式。Xidel 选择器技能将这一过程简化为命令行级别的声明式提取,让你用熟悉的 CSS、XPath、XQuery 或 JSONiq 表达式直接定位目标数据,无需编写脚本。
技能如何工作
核心能力是利用 Xidel CLI 作为引擎,支持四种选择器语言:
- CSS 选择器:适合 HTML 页面中基于类、标签、属性的快速匹配。
- XPath:在 XML 和 HTML 中通过路径和函数定位节点。
- XQuery:对 XML 数据进行更复杂的查询和转换。
- JSONiq:针对 JSON 数据的声明式查询,可提取嵌套字段。
关键步骤通常包括:
- 指定目标端点(URL 或本地文件)。
- 用
--follow(或-f)定义需要跟随的链接选择器,实现批量爬取。 - 用
--extract(或-e)定义提取表达式,从每个跟随的页面中提取所需字段。
例如,从一个起始页面提取所有链接,再提取每个链接页面的标题,只需一条命令:xidel http://example.org --follow //a --extract //title。这背后是 Xidel 自动处理请求、解析文档并应用选择器。
适用边界与注意点
- 依赖 Xidel CLI 已安装并可用,技能本身不负责安装。
- 选择器语法必须与目标文档类型匹配:HTML 页面可用 CSS/XPath,XML 需用 XPath/XQuery,JSON 接口需用 JSONiq。
- 对于动态渲染的页面(如依赖 JavaScript 生成内容),Xidel 无法直接获取,需确保数据在初始 HTML 中。
- 批量提取时,注意目标站点的速率限制和 robots 协议。
- 复杂的数据转换可能超出简单选择器的能力,此时需结合 Xidel 的脚本功能或后续处理。
使用场景
- 数据分析师需要从多个竞品官网批量抓取定价字段并导出为表格。
- 后端工程师要统一解析多个返回XML或JSON的第三方接口并抽取关键字段入库。
- 内容运营每周从行业门户抓取文章标题、链接和发布时间以生成简报。
适合人员
- 数据分析师:需要定期从网页或接口抓取字段并整理成结构化表格,不想写一次性脚本。
- 后端工程师:负责数据集成与API对接,常要针对不同格式的响应快速抽取关键字段。
- 内容运营:从行业资讯网站批量获取文章标题、链接和时间,用于周报或简报。