恶心,为什么恶心。请求类是否默认调用parse()方法?

2024-04-26 11:27:24 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么恶心。请求类在默认情况下调用parse()方法,但我不太了解该过程

部分恶心。请求源代码

class Request(object_ref):

def __init__(self, url, callback=None, method='GET', headers=None, body=None,
             cookies=None, meta=None, encoding='utf-8', priority=0,
             dont_filter=False, errback=None, flags=None):

    self._encoding = encoding  # this one has to be set first
    self.method = str(method).upper()
    self._set_url(url)
    self._set_body(body)
    assert isinstance(priority, int), "Request priority not an integer: %r" % priority
    self.priority = priority

    assert callback or not errback, "Cannot use errback without a callback"
    self.callback = callback
    self.errback = errback

。。。。在

但是这个默认的回调函数是None,所以我对此非常困惑

^{pr2}$

Tags: selfnoneurlrequestcallbacknot情况body
1条回答
网友
1楼 · 发布于 2024-04-26 11:27:24

这是decided inside the Scrapy core的东西,请看request.callback or spider.parse部分:

def call_spider(self, result, request, spider):
    result.request = request
    dfd = defer_result(result)
    dfd.addCallbacks(request.callback or spider.parse, request.errback)
    return dfd.addCallback(iterate_spider_output)

相关问题 更多 >