如何抓取特定元素 (Cheerio)
How to scrape a particular element (Cheerio)
网站代码为<div class="product__price product__price-promo "><del>16 999</del>15 999</div>
我需要刮取 15 999。我该怎么做呢?
我已经尝试使用选择器 div.product__price
或 product__price product__price-promo
来完成,在这种情况下我得到结果“1699915999”
如果我尝试使用选择器 div.product__price > del
得到结果 16999。
到目前为止我还不知道如何获得 15 999
你可以这样做:
const b = priceSelectors.map(sel => [...this._$(sel)[0].childNodes].find(n=>n.nodeType==3&&n.data.trim()).data.trim()).find(e=>e) || null;
这会遍历选择器并找到第一个 non-whitespace 文本节点的内容。
网站代码为<div class="product__price product__price-promo "><del>16 999</del>15 999</div>
我需要刮取 15 999。我该怎么做呢?
我已经尝试使用选择器 div.product__price
或 product__price product__price-promo
来完成,在这种情况下我得到结果“1699915999”
如果我尝试使用选择器 div.product__price > del
得到结果 16999。
到目前为止我还不知道如何获得 15 999
你可以这样做:
const b = priceSelectors.map(sel => [...this._$(sel)[0].childNodes].find(n=>n.nodeType==3&&n.data.trim()).data.trim()).find(e=>e) || null;
这会遍历选择器并找到第一个 non-whitespace 文本节点的内容。