【问题标题】:Scrapy CSS Selector ignore tags and get text onlyScrapy CSS Selector 忽略标签并仅获取文本
【发布时间】:2017-10-30 19:10:17
【问题描述】:

我有以下 HTML:

<li class="last">
    <span>SKU:</span> 483151
</li>

我可以使用:

SKU_SELECTOR = '.aaa .bbb .last ::text'
sku = response.css(SKU_SELECTOR).extract_first().strip()

我怎样才能只得到数字而忽略跨度。

【问题讨论】:

    标签: python xpath css-selectors scrapy scrapy-spider


    【解决方案1】:

    您的 css 选择器在 ::text 之前有不必要的空间。

    SKU_SELECTOR = '.aaa .bbb .last ::text'
                                   ^
    

    空格表示任何 decendant-or-self 节点都符合此选择器的条件,您只想选择 self 下的文本。

    我搞定了:

    >[0]: s = Selector(tex='...')
    >[1]: s.css('.last::text').extract()
    <[1]: [u'\n    ', u' 483151\n']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2020-11-22
      • 1970-01-01
      • 2015-01-27
      • 2022-06-10
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多