You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Xidel将书籍标题与价格合并打印在同一行?

解决Xidel抓取书籍标题和价格同行输出的问题

你的问题出在之前的XPath没有按单本书的容器节点分组提取,而是把所有标题、价格节点单独拉出来,自然没法成对同行输出。

直接用下面的命令就能实现「title --> price」的同行格式:

./xidel -e '//article[@class="product_pod"]/concat(h3/a/@title, " --> ", p[@class="price_color"])' https://books.toscrape.com

关键逻辑说明:

  • //article[@class="product_pod"]:定位页面上每一本书的外层容器节点,每个节点对应完整的单本书信息
  • concat(A, " --> ", B):XPath的字符串拼接函数,把标题和价格用指定分隔符连在一起
  • h3/a/@title:抓取书籍的完整标题(页面显示的h3文本是截断的,@title属性才是完整书名);如果想要页面显示的截断文本,换成h3/a/text()即可
  • 不需要额外加doc(),Xidel支持直接把目标URL作为参数传入

如果偏好更清晰的循环写法,也可以用for表达式:

./xidel -e 'for $book in //article[@class="product_pod"] return concat($book/h3/a/@title, " --> ", $book/p[@class="price_color"])' https://books.toscrape.com

内容的提问来源于stack exchange,提问作者SebastianM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:47:08