Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将布尔值用于刮擦项目加载器_Python_Scrapy - Fatal编程技术网

Python 如何将布尔值用于刮擦项目加载器

Python 如何将布尔值用于刮擦项目加载器,python,scrapy,Python,Scrapy,我正在尝试使用带有Scrapy 0.24.5的项目加载器。当我使用add_item()方法时,如果我想使用布尔值或整数,它会抛出一个异常 item.add_value('full_update', 1) item.load_items() 产生以下错误: ValueError: Error with output processor: field='full_update' value=[1] error='TypeError: expected string or buffer' 我知道它

我正在尝试使用带有Scrapy 0.24.5的项目加载器。当我使用add_item()方法时,如果我想使用布尔值或整数,它会抛出一个异常

item.add_value('full_update', 1)
item.load_items()
产生以下错误:

ValueError: Error with output processor: field='full_update' value=[1] error='TypeError: expected string or buffer'
我知道它在找一根绳子。但是我需要在我的mongodb中存储一个布尔值


我是否可以使用另一种item loader方法来实现这一点?

问题不是add\u value()方法。我的一个输出处理器期望一个字符串值,
full\u update
字段正在运行

在我的
items.py
中,我将
output\u processor=Identity()
添加到我的完整\u更新字段中,它现在可以工作了:

class ProductsItem(scrapy.Item):
    full_update = scrapy.Field(output_processor=Identity())

class ProductsItemLoader(ItemLoader):
    default_item_class = ProductsItem
    default_output_processor = Compose(TakeFirst(), remove_tags, lambda v: replace_escape_chars(text=v, replace_by=' '), lambda v: v.encode('utf-8'), lambda v: ' '.join(v.split()))
pass