pyspider中给回调函数传参数

时间:2022-01-04 14:41:44

在使用pyspider框架爬去网页的时候, self.crawl(url,callback=fn) 是主要的接口函数。通过这个函数,我们对 url 进行请求,请求完之后继续执行接下来的程序,等 url 响应的时候在调用回调函数 callback 对返回的内容进行处理。
通常在回调函数中我们会对新的 url 发情求,此时就需要另外一个回调函数。如果我们希望将将一次请求响应的内容传到下一个回调函数使用时,就需要使用 self.crawl() 的 save 参数。然后在回调函数中通过response.save[] 来获取传进来的数据。官网的介绍如下:

def on_start(self):
    self.crawl('http://www.example.org/',
    callback=self.callback, save={'a': 123})

def callback(self, response):
    return response.save['a']