在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 on 2017-07-29 00:02  漏三刀  阅读(455)  评论(0编辑  收藏  举报