XPath:删除空格函数不起作用



我正在使用Scrapy、XPath和Python来抓取网站。当我得到结果时,它已经\r\n。谷歌搜索发现我需要在XPath上使用normalize-space()。当我这样做的时候,见下文,它不起作用。

item ['runs'] = stats.select((normalize-space('//tr[@class="cell1"]/td[3]/text()')[count])).extract()

我得到一个"全局名称规范化未定义错误。

有什么想法吗?

normalize-space是XPath的一部分,而不是Python。因此,在Python或其他一些库中没有这样的函数。它的正确用法是这样的(仅针对一个示例):

stats.select('''//tr[normalize-space(td/text()) = 'User Name']''').extract()

只需在python中删除字符串的空白,就可以使用str方法。例如:strip将删除前导和尾随空白。

>>> 'rnrsamplern'.strip()
'sample'

类似normalize-space:

>>> ' '.join('rns  am  rn plern'.split())
's am ple'

最新更新