Scrapy CSS Selector忽略标记并仅获取文本

时间:2017-05-30 10:44:16

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

我有以下HTML:

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

我可以使用以下方式选择它们:

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

我如何才能获得该号码并忽略该范围。

1 个答案:

答案 0 :(得分:1)

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

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

空格表示任何后代或自身节点都有资格使用此选择器,您只想在self下选择文本。

我得到了它的工作:

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