Я очищаю XML-документ следующим образом:
>>> response.xpath("//ul[@class='meta-info d-flex flex-wrap align-items-center list-unstyled justify-content-around']/li[position()=2]/text()").extract()
и выдает мне следующий вывод:
['\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t23 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ']
Но я не хочу, чтобы какие-либо поля были символами перевода строки,табуляции или пробелов, поэтому я пытаюсь использовать функцию normalize-space()
следующим образом:
>>> response.xpath("normalize-space(//ul[@class='meta-info d-flex flex-wrap align-items-center list-unstyled justify-content-around']/li[position()=2]/text())").extract()
Но я получаю нулевой вывод:
['']
Что здесь происходит?