【问题标题】: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']