Причина, по которой вы не получаете цену, используя обычный подход 'xpath / css', заключается в том, что поле 'цена' не доступно вашему сканеру напрямую. Ваш сканер видит страницы по-разному, поэтому xpath (s) совершенно разные.
Попробуйте этот подход:
from re import search
_script = response.xpath("//script[contains(text(),'price')][1]")[0].extract()
price = search ( r",.price.:(\d+)", _script ).group(1)
Более того, лучше использовать другую попытку ... за исключением отдельных полей , чтобы вы знали, в каком именно разделе произошла ошибка, для дальнейшего исправления.