Scrapy广泛使用信号来通知特定事件发生的时间。您可以在Scrapy项目中捕获一些这些信号(例如使用扩展名)来执行其他任务或扩展Scrapy以添加未提供的开箱即用的功能。 即使信号提供了几个参数,捕获它们的处理程序也不需要接受所有这些参数 – 信号调度机制只会传递处理程序接收的参数。 您可以通过Signals API连接信号(或发送您自己的 信号)。 这是一个简单的示例,展示了如何捕获信号并执行某些操作: from scrapy import signals from scrapy import Spider class DmozSpider(Spider): name = “d

scrapy.statscollectors模块下有几个Stats收集器 ,它们都实现了StatsCollector 类定义的Stats Collector API (它们都是从它们继承的)。 类scrapy.statscollectors.StatsCollector get_value(键,默认=无) 返回给定统计信息键的值,如果不存在则返回默认值。 get_stats() 从当前运行的蜘蛛获取所有统计数据作为词典。 set_value(键,值) 设置给定统计数据键的给定值。 set_stats(统计) 使用stats参数中传递的dict覆盖当前统计信息。 inc_value(key,co

classscrapy.signalmanager.SignalManager(sender = _Anonymous ) connect(接收器,信号,** kwargs ) 将接收器功能连接到信号。 信号可以是任何对象,尽管Scrapy附带了一些预定信号,这些信号记录在信号 部分中。 参数: receiver(callable) – 要连接的函数 signal(object) – 要连接的信号 disconnect(接收器,信号,** kwargs ) 断开接收器功能与信号的连接。这与connect()方法具有相反的效果,并且参数是相同的。 disconnect_a

类scrapy.loader.SpiderLoader 该类负责检索和处理项目中定义的spider类。 可以通过在SPIDER_LOADER_CLASS项目设置中指定其路径来使用自定义蜘蛛装载程序 。它们必须完全实现scrapy.interfaces.ISpiderLoader接口以保证无错执行。 from_settings(设定) Scrapy使用此类方法来创建类的实例。它是使用当前项目设置调用的,它会加载在SPIDER_MODULES 设置模块中递归发现的蜘蛛。 参数: 设置(Settings实例) – 项目设置 load(spider_name ) 获取具有给定名称的Spid

scrapy.settings.SETTINGS_PRIORITIES 设置Scrapy中使用的默认设置优先级的键名和优先级的字典。 每个项目定义一个设置入口点,为其提供标识的代码名称和整数优先级。在设置和检索Settings类中的值时,更高优先级优先于较小优先 级。 SETTINGS_PRIORITIES = { ‘default’: 0, ‘command’: 10, ‘project’: 20, ‘spider’: 30, ‘cmdline’: 40, }   有关每个设置源的详细说明,请参阅: 设置。 scrapy.settings.get_settings_priority

本节介绍Scrapy核心API,它适用于扩展和中间件的开发人员。 抓取工具 Scrapy API的主要入口点是Crawler 对象,通过from_crawler类方法传递给扩展。此对象提供对所有Scrapy核心组件的访问,这是扩展访问它们并将其功能挂钩到Scrapy的唯一方法。 Extension Manager负责加载和跟踪已安装的扩展,并通过EXTENSIONS设置配置它,其中包含所有可用扩展的字典及其顺序,类似于您配置下载中间件的方式。 classscrapy.crawler.Crawler(spidercls,settings ) 必须使用scrapy.spiders.Spider子类

本节介绍了部署Scrapy蜘蛛以定期运行它们的不同选项。在本地机器中运行Scrapy蜘蛛对于(早期)开发阶段来说非常方便,但是当您需要执行长时间运行的蜘蛛或移动蜘蛛以继续在生产中运行时。这就是部署Scrapy蜘蛛的解决方案的用武之地。 部署Scrapy蜘蛛的热门选择是: Scrapyd(开源) Scrapy Cloud(基于云)   部署到Scrapyd服务器 Scrapyd是一个运行Scrapy蜘蛛的开源应用程序。它为服务器提供HTTP API,能够运行和监控Scrapy蜘蛛。 要将蜘蛛部署到Scrapyd,您可以使用scrapyd-client软件包提供的scrapyd-depl

Scrapy提供了一种方便的工具,用于以键/值的形式收集统计数据,其中值通常是计数器。该工具称为统计收集器,可以通过Crawler API的stats 属性进行访问,如下面的Common Stats Collector使用部分中的示例所示。 但是,统计信息收集器始终可用,因此无论是否启用统计信息收集,您始终可以将其导入模块并使用其API(增加或设置新的统计信息键)。如果它被禁用,API仍然可以工作,但它不会收集任何东西。这旨在简化统计信息收集器的使用:您应该花费不超过一行代码来收集蜘蛛,Scrapy扩展或您使用统计信息收集器的任何代码中的统计信息。 统计信息收集器的另一个特性是它非常有效(启用