繁体   English   中英

Scrapy无法获取xpath

[英]Scrapy unable to get xpath

我在此网站NTP中获得了此代码

        <h5>Soundbooster</h5> <br><br>
      <p class="details">
        <b>Filtro attuale</b>
      </p>
      <blockquote>
        <p>
          <b>Catalogo:</b> 
            Aliant</br>
          <b>Marca e Modello:</b> 
            Mazda - 3 </br>
          <b>Versione:</b> 
            (3th gen) 2013-now (Petrol)
        </p>
      </blockquote>

我正在尝试提取元素“马自达-3”,但无法获取,它返回空白。 在代码中,“马自达-3”部分具有品牌价值。 我得到名称和版本值。

这就是我的实现方式:

    for ntp in response.css('div.content-1col-nobox'):

        name = ntp.xpath('normalize-space(//h5/text())').extract_first()
        brand = ntp.xpath('normalize-space(//blockquote/p//text()[4])').extract_first()
        version = ntp.xpath('normalize-space(//div/blockquote[1]/p//text()[6])').extract_first()
        result = ("{}  {} - {}".format(name, brand, version))

这篇文章与此相关,可以在那儿工作,但我意识到我只得到部分数据。 看到这里: Scrapy add.xpath或加入xpath

有人可以帮我吗。

先感谢您。

我不确定您的代码中有什么ntp ,但这应该可以工作:

brand = ntp.xpath('.//b[.="Marca e Modello:"]/following-sibling::text()[1]').extract_first()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM