在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里面就需要写多少个,加上默认值就好,如果直接写到内函数会变成形参。
原文地址:在scrapy这类需要callback的地方传递多个参数, 感谢原作者分享。 任何的限制,都是从自己的内心开始的。