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

 找回密码
 立即注册

扩展

发布者: 笨鸟自学网

扩展框架提供了一种将您自己的自定义功能插入到Scrapy中的机制。

扩展只是常规的类。

扩展设置

扩展使用 Scrapy settings 管理他们的设置,就像任何其他零碎的代码一样。

扩展通常会在其设置前面加上自己的名称,以避免与现有(和将来)扩展冲突。例如,要处理的假设扩展 Google Sitemaps 将使用如下设置 GOOGLESITEMAP_ENABLED , GOOGLESITEMAP_DEPTH 等等。

加载和激活扩展

通过实例化每个正在运行的爬行器的Extension类的单个实例,在启动时加载和激活扩展。所有扩展初始化代码都必须在类中执行 __init__ 方法。

若要使扩展名可用,请将其添加到 EXTENSIONS 设置你的剪贴设置。在 EXTENSIONS ,每个扩展都由一个字符串表示:扩展类名的完整python路径。例如::

EXTENSIONS = {
    'scrapy.extensions.corestats.CoreStats': 500,
    'scrapy.extensions.telnet.TelnetConsole': 500,
}

如你所见, EXTENSIONS 设置是一个dict,其中键是扩展路径,它们的值是定义扩展的顺序。 加载 秩序。这个 EXTENSIONS 设置与合并 EXTENSIONS_BASE 在scrappy中定义的设置(不打算被重写),然后按顺序排序,以获得已启用扩展的最终排序列表。

由于扩展通常不相互依赖,因此在大多数情况下,它们的加载顺序是不相关的。这就是为什么 EXTENSIONS_BASE 设置以相同的顺序定义所有扩展名 (0 )但是,如果需要添加依赖于已加载的其他扩展的扩展,则可以利用此功能。

可用、启用和禁用扩展

并非所有可用的扩展都将启用。其中一些通常取决于特定的设置。例如,HTTP缓存扩展在默认情况下是可用的,但在 HTTPCACHE_ENABLED 设置设置。

禁用扩展

为了禁用默认启用的扩展(即 EXTENSIONS_BASE 设置)必须将其顺序设置为 None . 例如::

EXTENSIONS = {
    'scrapy.extensions.corestats.CoreStats': None,
} 

12345下一页
上一篇:蜘蛛中间件下一篇:核心API

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

GMT+8, 2024-11-21 19:24 , Processed in 0.017930 second(s), 17 queries .

© 2001-2020

返回顶部