本文主要是介绍scrapy 编写扩展 (八),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在scrapy使用过程中,很多情况下需要根据实际需求定制自己的扩展,小到实现自己的pipelines,大到用新的scheduler替换默认的scheduler。
扩展可以按照是否需要读取crawler大致分为两种,对于不需要读取的,比如pipelines的编写,只需要实现默认的方法porcess_item。需要读取的,如scheduler的编写又存在另外的方式。
1.第一种
这种处理起来比较简单,一般是根据scrapy的signals实现相应的处理。具体实现可见文档pipelines的编写方法。
2.第二种
(1)区别:
这种方式和第一种的主要区别是需要使用crawler内部信息,比如接收内部信号,如signals.spider_opened等。还体现在对设置setting.py的是否需要读取上。
(2)实现:
i)读取设置一般通过from_settings函数实现。一下是scrapy-redis中scheduler的from_settings的实现方法:
这篇关于scrapy 编写扩展 (八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!