Scrapy CSS Selector忽略标签并仅获取文本 [英] Scrapy CSS Selector ignore tags and get text only
本文介绍了Scrapy CSS Selector忽略标签并仅获取文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下HTML:
<li class="last">
<span>SKU:</span> 483151
</li>
我可以使用:
SKU_SELECTOR = '.aaa .bbb .last ::text'
sku = response.css(SKU_SELECTOR).extract_first().strip()
如何只获取数字而忽略跨度.
How can I get the number only and ignore the span.
推荐答案
您的CSS选择器在::text
之前有不必要的空间.
Your css selector has unnecessary space before ::text
.
SKU_SELECTOR = '.aaa .bbb .last ::text'
^
空格表示您只想选择self下方的文本的任何后代或self节点都符合该选择器的条件.
Space indicates that any decendant-or-self node qualifies for this selector where you want to select only text under self.
我可以使用它
>[0]: s = Selector(tex='...')
>[1]: s.css('.last::text').extract()
<[1]: [u'\n ', u' 483151\n']
这篇关于Scrapy CSS Selector忽略标签并仅获取文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文