scrapy经验分享-同一项目不同的spider启用不同的配置

在群里经常被问到如何解决同一个爬虫启用不同的piepline的问题,一般的解决通过参数的不同解决这个

代码中有两个重要的参数item,还有一个spider ,我们打个断点来看看spider 里面的都有些什么
spider

简单点我们可以通过name做逻辑上的判断

这样做的确可以,不过有一个不好的地方,如果同一个项目很多,spider也很多,piepline处理的业务也比较复杂,都杂糅到一起,首先不好看是其次,另外不方便代码的更新。

那能不能做到不同的spider启用不到的配置呢?当然显然是可以的

先看一段代码

custom_settings这个属性真是好用极了,就算你在settings里面进行了配置,这个也会将原先的配置进行覆盖,配置是如何加载的?

最后将得到最终的配置文件,所以我们看到自己在没有settings.py写一些配置,比如启动的时候会显示这些日志

其实scrapy的包文件里面就已经有默认的配置了。

点赞