笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

信号

发布者: 笨鸟自学网



item_error

scrapy.signals.item_error(itemresponsespiderfailure)

发送时 项目管道 生成错误(即引发异常),除非 DropItem 例外。

此信号支持从其处理程序返回延迟。

参数
  • item (item object) -- 中导致错误的项 项目管道

  • response (Response object) -- 引发异常时正在处理的响应

  • spider (Spider object) -- 引发异常的蜘蛛

  • failure (twisted.python.failure.Failure) -- 引发的异常

蜘蛛信号

spider_closed

scrapy.signals.spider_closed(spiderreason)

在蜘蛛关闭后发送。这可用于释放在上保留的每个蜘蛛资源 spider_opened .

此信号支持从其处理程序返回延迟。

参数
  • spider (Spider object) -- 已关闭的蜘蛛

  • reason (str) -- 描述蜘蛛关闭原因的字符串。如果它是因为蜘蛛完成了爬取而关闭的,原因是 'finished' . 否则,如果通过调用 close_spider 引擎方法,则原因是 reason 该方法的参数(默认为 'cancelled' )如果发动机停机(例如,按ctrl-c停止发动机),原因将是 'shutdown' .

spider_opened

scrapy.signals.spider_opened(spider)

在蜘蛛被打开爬行后发送。这通常用于为每个蜘蛛保留资源,但可用于打开蜘蛛时需要执行的任何任务。

此信号支持从其处理程序返回延迟。

参数

spider (Spider object) -- 已经打开的蜘蛛

spider_idle

scrapy.signals.spider_idle(spider)

当蜘蛛空闲时发送,这意味着蜘蛛没有更多:

  • 等待下载的请求

  • 计划的请求

  • 正在项管道中处理的项

如果此信号的所有处理程序完成后空闲状态仍然存在,则引擎将开始关闭蜘蛛。蜘蛛完成闭合后, spider_closed 发送信号。

你可以举起 DontCloseSpider 防止蜘蛛关闭的异常。

或者,您也可以引发 CloseSpider 提供自定义爬行器关闭原因的异常。空闲处理程序是放置一些评估最终爬行器结果并相应更新最终关闭原因的代码的理想位置(例如,将其设置为“TOO_LOW_RESULTS”而不是“Finish”)。

此信号不支持从其处理程序返回延迟。

参数

spider (Spider object) -- 空转的蜘蛛

注解

在您的 spider_idle 处理程序 not 确保它可以防止蜘蛛被关闭,尽管有时可以。这是因为如果计划程序拒绝了所有计划的请求(例如,由于重复而被筛选),那么spider可能仍然处于空闲状态。

spider_error

scrapy.signals.spider_error(failureresponsespider)

当spider回调生成错误(即引发异常)时发送。

此信号不支持从其处理程序返回延迟。

参数
  • failure (twisted.python.failure.Failure) -- 引发的异常

  • response (Response object) -- 引发异常时正在处理的响应

  • spider (Spider object) -- 引发异常的蜘蛛


上一篇:核心API下一篇:调度程序

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-10-18 14:34 , Processed in 0.047964 second(s), 17 queries .

© 2001-2020

返回顶部