pipeline的使用:
完成pipeline的代码以后,我们需要在settings中手动开启pipeline:
引出问题,为什么需要多个pipeline?
- 可能我们会有多个spider,不同的pipeline处理不同的spider送来的item的内容
- 一个spider的内容,可能要做不同的操作,比如既要把它存入数据库当中,又要把它持久化自在本地中。
要注意的是: - pipeline的权重越小优先级越高
- pipeline中process_item方法名不能修改为其他名称
如何区分当前的item到底是来自哪个spider呢?
我们可以通过在item中添加键值对;然后再pipeline中进行判断:
另外: 我们可以直接通过process_item方法中的spider来判辨当前item来自哪个爬虫。