scrapy之 Spider Middleware(爬虫中间件)
Posted codexlx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy之 Spider Middleware(爬虫中间件)相关的知识,希望对你有一定的参考价值。
Spider Middleware是介入到Scrapy与Spider处理机制的钩子框架。所处位置:
当 Downloder生成Response之后,Response 会被发送给 Spider,在发送给 Spider之前,Response 会首先经过 Spider Middleware处理,当Spider处理生成Item 和Request之后,Item和Request还会经过 Spider Middleware 的处理。
Spider Midleware 有如下三个作用:
- 我们可以在 Downmloader生成的Response发送给 Spider之前,也就是在 Response发送给Spide|之前对 Response进行处理。
- 我们可以在 Spider生成的Request发送给 Scheduler之前,也就是在 Request发送给 Schedule之前对Request 进行处理。
- 我们可以在 Spider生成的Item发送给 Item Pipeline之前,也就是在 Item发送给Item Pipeline之前对Item 进行处理
需要说明的是,Scrapy其实已经提供了许多 Spider Middleware,它们被 SPIDER_MIDDLEMARES_BASE 这个变量所定义。
SPIDER_MIDDLEMARES_BASE
{
‘scrapy.spidermiddlewares.httperror.HttpErrorMiddleware‘:50,
‘scrapy.spidermiddlewares.offsite.0ffsiteNiddleware‘:500,
‘scrapy.spidermiddlewares.referer.RefererNiddleware‘:700,
‘scrapy. spidermiddlewares.urllength.UrlLengthMiddleware‘:800,
‘scrapy.spidermiddlewares.depth. epthMiddleware‘:900,
}
和 Downloader Middleware—样,Spider Middleware 首先加人到 SPIDER_MIDDLEWARES 设置中,该设 置会和 Scrapy 中SPIDER_MIDDLEMARES_BASE定义的 Spider Middleware合并。然后根据键值的数字优先级排序,得到一个有序列表。第一个Middleware是最靠近引擎的,最后一个Middleware是最靠近Spider
待完善。。。
以上是关于scrapy之 Spider Middleware(爬虫中间件)的主要内容,如果未能解决你的问题,请参考以下文章
scrapy下载中间件(downloader middleware)和蜘蛛中间件(spider middleware)
小白学 Python 爬虫(37):爬虫框架 Scrapy 入门基础 Spider Middleware
Spider_Man_6 の Scrapy_Downloader Middleware(这是个需要针对一下的东西🐷🐷🐷)