processor
scrapy提供了一个processors类,里面有下列几种方法:Join,TakeFirst,MapCompose,Compose,Identity,SelectJmes
对这几种方法的用法简单介绍一下:
from scrapy.loader.processors import Join,TakeFirst,MapCompose,Compose,Identity,SelectJmes
#以特定字符连接,示例以空连接,对字符串也能操作
c = Join('')
c(['a','b'])
>>>'ab'
#********************
#传入函数的列表的每一个元素都会经过第一个函数,
#得到值在经过第二个函数,如果有返回值为None的,则抛弃,
#最后返回一个列表
c=MapCompose(str.strip,str.upper)
c([' a ','b'])
>>>['A', 'B']
#********************
#如果传入一个列表时则会报下面这个错误
#descriptor 'strip' requires a 'str' object but received a 'list'
#但如果Compose的第一个函数是取列表的第一个元素,不会报错
#即Compose是处理单一数据,MapCompose是批量处理
c=Compose(str.strip,str.upper)
c(' ac ')
>>>'AC'
#********************
#拿到JSON格式数据时会有作用
proc = SelectJmes('a')
proc({'a':'b','c':'d'})
>>>'b'
TakeFirst是取第一个不