Scrapy设置之深入

Scrapy设置之深入_第1张图片

Scrapy使用一些后辍为_BASE的设置项来存储框架扩展的默认值(比如FEED_EXPORTERS_BASE),可以在settings.py文件或者命令行用不加_BASE后辍的设置项来设置它们(比如FEED_EXPORTERS)。

Scrapy用DOWNLOADER或者SCHEDULER设置项设置了这些系统必要的组件的类或包的名字。可以从默认的下载器(scrapy.core.downloader.Downloader)来继承,重载一些方法,然后把DOWMLOADER设置成自定义的类。这可以让开发者大胆地进行新特性的实验、自动化测试等等,不过除非你知道你在做什么,否则不要轻易修改此设置。

AUTOTHROTTLE_*设置项负责启用和配置 autothrottle扩展。它使用下载时延来推断爬虫和目标服务器的负载有多大,然后据此来调整下载器的延迟。如果你很难确定最佳的DOWNLOAD_DELAY值是多少,可以使用这个设置项。

MEMUSAGE_*设置项用来启用和配置memory usage扩展,当爬虫使用的内存过多的时候可以关闭爬虫程序。如果把MEMUSAGE_LIMIT_MB设置成0,就问意味着只会收到它的警告邮件,而不会直接关闭爬虫。这个扩展只在Unix类的系统上起作用。

MEMDEBUG_ENABLEDMENDEBUG_NOTIFY负责启用和配置memory debugger扩展,在爬虫关闭的时候打印出仍然没有被垃圾收集器回收的引用数目。追踪内存泄露是比较困难的,所以要尽量把程序写得短、批次地运行,并且依照你服务器的能力而定。

最后是一些日志和调试的函数。LOG_ENCODINGLOG_DATEFORMATLOG_FORMAT可以调整日志的格式,这在使用日志管理工具,比如Splunk、Logstash或Kibana时是比较有用的。DUPERFILTER_DEBUGCOOKIES_DEBUG可以用来调试一些相对复杂的问题,比如惊起的请求的数目比预期的少,或者session突然丢失等等。

你可能感兴趣的:(Scrapy设置之深入)