С вашим кодом я получаю ['\n ', '\n 510,940\n']
.
Если вы хотите 510,940
, вы можете использовать:
re:test(., '\d')
, чтобы отфильтровать строки несодержащий числа
.get()
(или .extract_first()
, если вы хотите перейти в старое учебное заведение), чтобы извлечь отдельный элемент в виде строки вместо списка совпадающих строк.
.strip()
для удаления окружающих пробелов, похожих на символы.
То есть:
response.xpath("//span[@class='price-amount']/text()[re:test(., '\d')]").get().strip()
Также для извлечения ценыВы можете использовать специализированную библиотеку, такую как price-parser .