Я всегда получаю строку в своем результате, даже в экспортированном JSON.
Использование двойного перевода для замены всего.decimal_serializer
был только для целей тестирования.Я вызвал print(value)
внутри, и он вернул допустимое значение с плавающей точкой.В моем результате это всегда Unicode-строка.add_value('offerCountNew', 1.3)
возвращает действительное значение с плавающей точкой в моем результате.
Я также пытался удалить любой процессор или сериализатор.Любые идеи о том, что я делаю не так?
Item
offerCountNew = scrapy.Field(output_processor = TakeFirst(), serializer = decimal_serializer)
Паук
l.add_xpath('offerCountNew', 'number(translate(//*[@id="olp_feature_div"]//a[contains(@href, "new")], translate(//*[@id="olp_feature_div"]//a[contains(@href, "new")], "0123456789", ""), ""))')
Результат
'offerCountNew': u'1.0',
JSON
"offerCountNew": "1.0",