当前位置:嗨网首页>书籍在线阅读

15-Scrapy扩展设置

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.3.2 Scrapy扩展设置

这些设置能够让你扩展并修改Scrapy的几乎所有方面。这些设置中最重要的当属 ITEM_PIPELINES 。它可以让你在项目中使用Item处理管道。第9章会看到更多的例子。除了管道之外,还可以通过不同的方式扩展Scrapy,其中一些将会在第8章中进行总结。 COMMANDS_MODULE 允许我们添加常用命令。比如,可以在 properties/hi.py 文件中添加如下内容。

from scrapy.commands import ScrapyCommand
class Command(ScrapyCommand):
  default_settings = {'LOG_ENABLED': False}
  def run(self, args, opts):
    print("hello")

当在 settings.py 文件中添加 COMMANDS_MODULE='properties.hi' 时,就激活了这个小命令,我们可以在Scrapy帮助中看到它,并且通过 scrapy hi 运行。在命令的 default_settings 中定义的设置,会被合并到项目的设置当中,并覆盖默认值,不过其优先级低于 settings.py 文件或命令行中设定的设置。

Scrapy使用 -_BASE 字典(比如 FEED_EXPORTERS_BASE )存储不同框架扩展的默认值,并允许我们在 settings.py 文件或命令行中,通过设置它们的非 -_BASE 版本(比如 FEED_EXPORTERS )进行自定义。

最后,Scrapy使用 DOWNLOADERSCHEDULER 等设置,保存系统基本组件的包 / 类名。我们可以继承默认的下载器( scrapy.core.downloader.Downloader ),重载一些方法,然后将 DOWNLOADER 设置为自定义的类。这样可以让开发者大胆地对新特性进行实验,并且可以简化自动化测试过程,不过除非你明确了解自己做的事情,否则不要轻易修改这些设置。