Scrapy CSS 选择器到 select 文本和空白

Scrapy CSS Selector to select text and blank

因为我正在使用 scrapy 来抓取包含 table 的站点。我正在使用 CSS 选择器获取 class 属性的元素。示例代码如下。

<span class="attr">Tamil Nadu - Greenshore Energy</span>
<span class="attr"></span>
<span class="attr">India</span>

我正在使用选择器

response.css('.attr::text').extract()

获取范围内的所有文本和空白。但是上面的选择器只返回下面的列表。留下空跨度。

[u'Tamil Nadu - Greenshore Energy', u'India']

那么我应该使用什么选择器来获取所有跨度,无论它是否包含文本。

您可以执行以下操作:

>>> [tag.css('::text').extract_first(default='') for tag in response.css('.attr')]
['Tamil Nadu - Greenshore Energy', '', 'India']