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

Posted kakaok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面就需要写多少个,加上默认值就好,如果直接写到内函数会变成形参。

查看原文

以上是关于Scrapy中的Callback如何传递多个参数的主要内容,如果未能解决你的问题,请参考以下文章

Scrapy回调函数callback传递参数的方式

Scrapy请求传参

如何在scrapy spider中传递用户定义的参数

如何将结构传递到browse_callback,然后进一步向下传递到avahi中的resolve_callback?

回调函数如何传参?

如何传递不在 URL 中的多个参数?