Scrapy中的Callback如何传递多个参数

在scrapy提交一个链接请求是用 Request(url,callback=func) 这种形式的,而parse只有一个response参数,如果自定义一个有多参数的parse可以考虑用下面的方法实现多个参数传递。

def parse(self,response):
    yield Request(url, callback=lambda response, typeid=5: self.parse_type(response,typeid))

def parse_type(self,response, typeid):
    print typeid

将参数写在lambda里面封装一下就行,内函数有多少个需要传递的参数在lambda里面就需要写多少个,加上默认值就好,如果直接写到内函数会变成形参。

查看原文

posted @ 2017-01-18 09:54  kakaok  阅读(3706)  评论(0编辑  收藏  举报