normalize-space()的功能是去掉前后的空格。xpath函数normalize-space的两种用法,第一种方法非常实用,第二种方法就比较少用了。


运行环境 Runtime environment

1
2
3
操作系统: Windos10  
IDE: pycharm 2021.3.1 x64
语言: python v3.9.1

背景

使用xpath作为采集解析库是非常方便的。

有时就会采集到一些空格下来,甚至出现’\xa0’,这些空格的符号。

在Python里进一步进行清理处理,很容易,

但是能一步到位的话,也可以省些事情。

作用描述

normalize-space()的功能是去掉前后的空格。

方法一

normalize-space用在属性上,如

//div[normalize-space(@class)=’’]/text()

方法二

normalize-space用结果上,如

normalize-space(//div[normalize-space(@class)=’’]/text())

注意

text()方法可以获取父节点下所有的文本字符串,

但是如果加上normalize-space方法就只能匹配到第一个文本字符串,而不是全部。

总结

对单一节点的字符换解析清洗,很不错。

但是要解析父节点下的多个子节点,normalize-space就不一定适用了,具体看情况来使用。