前言
parse指令用于返回requests和items对象,可用于一个爬虫的单元测试,检验抓取结果(注意:这里当你使用一个不存在的domain时候scrapy parse http://www.baidu.com,会抛出异常,这里是可选的源码解决方案点击打开链接)
代码调试
进入parse模块的run方法
初始化spidercls对象
self.set_spidercls(url, opts)
def set_spidercls(self, url, opts): spider_loader = self.crawler_process.spider_loader if opts.spider: try: self.spidercls = spider_loader.load(opts.spider) except KeyError: logger.error('Unable to find spider: %(spider)s', { 'spider': opts.spider}) else: self.spidercls = spidercls_for_request(spider_loader, Request(url)) if not self.spidercls: logger.error('Unable to find spider for: %(url)s', { 'url': url}) # Request requires callback argument as callable or None, not string request = Request(url, None) #