Ошибка
TypeError: 'NoneType' object is not callable
Ясно, что указанная здесь область действия html не имеет элемента с классом price
, поэтому значение цены возвращается как NonType, Попытка вызвать replace
на NoneType выдаст erorr, так как NoneType не имеет функций для вызова на
NoneType.replace() # NoneType has no function called replace
, поэтому вы можете изменить эту строку
price = soup.find(class_="price")
на
price = soup.find(class_="price") or ""
или вы можете поместить любое значение по умолчанию, которое подходит, когда суп не может найти значение для цены.
Для более сложной отладки по этой проблеме, я рекомендую использовать ipdb
в вашем коде, чтобы убедиться, что он работает как ожидается https://pypi.org/project/ipdb/ вот пример решения этой проблемы
price = soup.find(class_="price").text
price2 = int(price.replace(' ', '').split('.')[0][1:])