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

举报
~大鱼~ 发表于 2021/05/28 03:22:16 2021/05/28
【摘要】 在群里经常被问到如何解决同一个爬虫启用不同的piepline的问题,一般的解决通过参数的不同解决这个 def process_item(self, item, spider): self._client.create_index([('msg_id', pymongo.DESCENDING)], background=True) self._client.upda...

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

代码中有两个重要的参数item,还有一个spider ,我们打个断点来看看spider 里面的都有些什么
《scrapy经验分享-同一项目不同的spider启用不同的配置》

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

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

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

先看一段代码

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

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

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

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/918

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。