Парсинг корректного числа с сайта
1.Пишу парсер, не могу понять почему при печати словаря из переменной 'price' на экран выводит некорректный текст, когда при печати 'price' отдельно, выводит цену корректно?
2.
Что нужно использовать чтобы убрать пробелы в цене и отсечь денежный знак?
Пробовал отсечь с помощью:
for pric in price:
print(str(pric).replace(' ', ''))
- печатает цену столбиком.
Ответы (2 шт):
Вот это вот
for pric in price:
print(str(pric).replace(' ', ''))
делает следующее: берет по одному символу из строки price и печатает этот символ на новой строчке. Или просто новую строку, если символ был абзац. Кстати, str() тут совсем не требуется, потому что pric и так уже строка.
Нужно просто удалить пробелы в самой исходной строке:
p = price.replace(" ","")
print(p)
Неразрывные пробелы 0xa0 как и обычные пробелы можно удалить из строки таким образом:
s = '123\xa0456'
print(''.join(map(str.strip, s)))
# 123456
Вам нужно очистить price таким образом. Символ рубля можете перед этим заменить на пустой символ через .replace.


