首页 > 解决方案 > 从网站中提取价格信息的 XPath 表达式

问题描述

我正在尝试使用 XPath 提取此类网站的价格,但我没有任何经验,并且使用插件我得到了这个//div[@class='teaser--product-prices public-product']/div[@class='ui-table' and 1]/div[@class='ui-table-cell' and 1]/div[@class='teaser--product-final-price large sell-price' and 1]不起作用的 Xpath 表达式。

该网站还使用点 (.) 作为千位分隔符,并且不使用点 (.) 表示小数,因此如果有办法通过 Xpath 表达式删除第一个点并为小数添加一个点,我将不胜感激。

该表达式将用于 Content Egg Wordpress 插件向网站提供价格信息。

该网站是https://www.public-cyprus.com.cy/product/tileoraseis/tileoraseis/tileorasi-samsung-65-smart-8k-qled-qe65q950t/prod10634476pp/

标签: xpath

解决方案


您可以使用以下 XPath 表达式:

concat(translate(//div[@class="product-main-container product-page"]/@data-price,".",""),".",translate(//div[@class="product-main-container product-page"]/@data-decimals,"€",""))

我们使用函数concat来连接 2 个 XPath 表达式的结果。第一个我们用函数删除点translate。第二个我们也删除了欧元符号translate。我们还在该concat步骤中添加了小数点分隔符。

输出 :

6599.00

旁注:它无法工作,因为我不知道您的插件是否支持这些 XPath 函数。


推荐阅读