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

使用python3

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

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

spiders文件夹下的爬虫类添加属性image.png


中间件处理image.png

这样不管爬虫那边有没有添加属性,middlewares里就是会默认

image.png

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



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

1.在items里面做文章

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

2.根据items判断pipelines入库

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


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

建个文件夹,

==>>>


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

想了解更多+vx 781816703


猜你喜欢

转载自blog.51cto.com/12925223/2105904
今日推荐