keykoch, попробуй dict1 = {'price': float('.'.join(price.split()))}
У тебя в строке как минимум два пробела ещё, их нельзя преобразовать просто так, сначала их нужно отсечь.
Если тип данных не важен а нужно сохранить вид, то может сделать просто так dict1 = {'price': '.'.join(price.split())}
Если нужно именно int то вот так: dict1 = {'price': int(''.join(price.split()))}
AlexBoss, по поводу lxml вот тут и тут довольно подробно описан геморой с ветками (т.е концепция поиска данных в lmlx подразумевает что ты будешь указывать вложенность искомого объекта), сейчас посмотрел свою реализации и в итоге я ушел от lxml в сторону html5lib. Он в целом работает похожим образом как суп, но лишен недостатков lxml (таких как кодировка, поиск элемента и.т.д).
В своё время я убил целый день что бы понять как же работает lxml с этим драными ветками (etree), и данная библиотека как ты наверное понял из названия, лучше всего подходит для работы именно с xml данными, т.е ей нужно будет объяснить что ты работаешь с html, его там нужно было ещё как-то преобразовать, в общем на любителя. Я так и не решился усложнять свой код этими конструкциями, тогда как на html5lib, разберешься максимум за час. Она умеет и читать и парсить, и ей достаточно указать на объект что бы его найти, ну или на группу объектов. Сам код я обычно получаю с помощью реквеста обычного
AlexBoss, при работе с большим количеством данных (объектов), приводит к утечки памяти, так-как питоновский сборщик мусора не умеет его убивать. Я писал большой проект по анализу гугл таблиц, нужно было реализовать проверку ссылок из таблицы. Несколько дней не мог понять почему оперативная память начинает таять на глазах. В итоге пришлось переписывать реализацию на lxml. Мало того что потребление памяти снизилось и остановилось, так ещё и скорость работы возросла. Пользоваться им конечно не привычно по началу, но достаточно посмотреть пару хороших примеров кода, и всё становиться понятно.
Сделай print(dir(object)), возможно from имеет мутировавшие имя по которому можно обратиться. Обычно разработчики которые хотят использовать зарезервированные имена, используют конструкцию __name, что приводит к мутации имени переменной.
Игорь Статкевич, я последователь Олега Молчанова)) сегодня буду делать реализацию на lxml, отмечу данный вариант решением если всё получится. (очень надеюсь что получится)
Очень надеялся что сработает но увы, комбинировал даже с gc.collect(), но результат тот же. Просто накапливается. Даже запарился и написал внешнюю функцию которая собирала сразу в себя, но всё равно остаётся мусор в памяти. Видимо всё же предаётся поменять реализацию.
suenos_desesperados, а какую ошибку хоть выдаёт? Возможно конфликт в другом месте, вы точно правильно установили сам сертификат? Сайт хоть раз открылся по адресу https?