【问题标题】:Scrapy: X Path choose all headers where ancestor is not footerScrapy:X路径选择祖先不是页脚的所有标题
【发布时间】:2019-06-21 08:22:45
【问题描述】:

我正在尝试获取所有不在页脚中的页眉。

所以标题<h3 class="ibm-bold">Discover</h3> 应该从抓取中排除。

<footer role="contentinfo" aria-label="IBM">
   <div class="region region-footer">
   <div id="ibm-footer-module">
    <section role="region" aria-label="Resources">
            <h3 class="ibm-bold">Discover</h3>

我已尝试使用此表达式来选择应排除的标头,但它没有返回正确的节点。

//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6]/ancestor::footer/text()

我正在抓取的页面是这样的:https://www.ibm.com/products/informix/embedded-for-iot?mhq=iot&mhsrc=ibmsearch_a

请帮忙

【问题讨论】:

    标签: python-3.x xpath web-scraping scrapy


    【解决方案1】:

    你几乎拥有它。

    //*[
      (self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6)
      and not(ancestor::footer)
    ]/text()
    

    【讨论】:

      猜你喜欢
      • 2015-01-24
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多