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

使用XPath抓取同类名Div时遇阻,无法获取车身样式

解决Scrapy提取车身样式的XPath问题

问题分析

你当前的XPath仅提取目标div的直接文本节点,但网页中车身样式的文本通常嵌套在子元素中,或被空白节点分隔,导致直接用/text()无法获取有效内容。

可行解决方案

以下几种XPath写法可以解决问题:

  1. 提取所有子节点文本并清理
    先获取目标div下所有层级的文本,再过滤空白字符并合并:

    body_style = response.xpath(".//div[@class='vdp-info-media vdp-body-style']//text()").getall()
    body_style = ''.join([text.strip() for text in body_style if text.strip()])
    
  2. 直接定位子元素文本
    如果车身样式文本在div的子元素(如span)中,可直接定位该子节点:

    body_style = response.xpath(".//div[@class='vdp-info-media vdp-body-style']/span/text()").get().strip()
    
  3. 使用normalize-space()简化处理
    该函数会自动去除文本前后空白并合并中间冗余空格,一步到位:

    body_style = response.xpath("normalize-space(.//div[@class='vdp-info-media vdp-body-style'])").get()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:45:28