scrapy多个爬虫公用一些中间件pipelines

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy多个爬虫公用一些中间件pipelines相关的知识,希望对你有一定的参考价值。

使用python3

请求头headers:user-agent、代理ip,这些放在一个工程项目里,有的爬虫是需要中间件的或者根据反爬添加相应的条件,那这样的情况下怎么办?

1.中间件处理默认带上请求头,不带启用ip代理功能

spiders文件夹下的爬虫类添加属性技术分享图片


中间件处理技术分享图片

这样不管爬虫那边有没有添加属性,middlewares里就是会默认技术分享图片

2.有些情况下请求头会带上cookie、referer,这样的话,只需要user_agent = False,这样在爬虫里面编写自己需要的headers



那么多的爬虫,每一个可能数据格式、存数据库不同,怎么区分它们呢?

1.在items里面做文章

每一个爬虫的数据可能都要创建items类,我们把公用的部分提出来,写到基类里面去!

2.根据items判断pipelines入库

一定是items项目类,不能使用基类!

技术分享图片

3.或者根据文件的文件名、类名、方法,判断启用那个,这种适合很多类型的情况下

建个文件夹,技术分享图片

==>>>技术分享图片


然后在改一些相应的源码,这里不详细说明!


以上是关于scrapy多个爬虫公用一些中间件pipelines的主要内容,如果未能解决你的问题,请参考以下文章

爬虫框架Scrapy 之 --- scrapy文件

python爬虫之Scrapy框架中的Item Pipeline用法

爬虫框架Scrapy之Item Pipeline

Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法

初识Scrapy

python爬虫之scrapy的pipeline的使用