您的位置:首页 > 健康 > 美食 > 进入公众号提示微信授权失败_小兔自助建站系统_网站的优化与推广分析_发布新闻

进入公众号提示微信授权失败_小兔自助建站系统_网站的优化与推广分析_发布新闻

2025/4/16 0:12:55 来源:https://blog.csdn.net/jayhgq/article/details/147118544  浏览:    关键词:进入公众号提示微信授权失败_小兔自助建站系统_网站的优化与推广分析_发布新闻
进入公众号提示微信授权失败_小兔自助建站系统_网站的优化与推广分析_发布新闻

中间件这部分算是一个高阶的Scrapy内容,即便不了解这部分也可以使用Scrapy,但是一些特殊情况使用中间件就比较方便处理了,比如修改请求和响应等。
通过之前的工作原理图中,我们了解到Scrapy中有两个中间件,分别是下载器中间件和爬虫中间件,本节将一一讲解如何激活、编写自己的中间件和如何使用内置中间件。

下载器中间件Downloader Middlewares

激活下载器中间件

在 Scrapy 项目的settings.py文件中进行配置,从而激活下载器中间件。具体操作是在DOWNLOADER_MIDDLEWARES字典中添加或修改相应的中间件配置。例如,如果要激活自定义的下载器中间件MyCustomDownloaderMiddleware,假设其路径为myproject.middlewares.MyCustomDownloaderMiddleware,可以这样配置:

DOWNLOADER\_MIDDLEWARES = {"myproject.middlewares.MyCustomDownloaderMiddleware": 543,
}

其中,数字543代表中间件的执行顺序,数值越低优先级越高。

编写自己的下载器中间件

编写自定义下载器中间件,需要创建一个 Python 类,并重写一些特定的方法。可以重写方法包括process_requestprocess_responseprocess_exceptionfrom_crawler方法。

  • process_request(self, request, spider)
    • 当每个request通过下载中间件时,该方法被调用
    • 可以返回None,表示继续处理这个请求
    • 可以返回一个scrapy.http.Response,则中间件会返回这个响应对象并跳过下载过程,直接把响应传递给爬虫;
    • 可以返回一个scrapy.http.Request,那么会停止当前请求及后面的中间件,新请求会被重新调度和下载;
    • 或者抛出scrapy.exceptions.IgnoreRequest异常,请求会被丢弃,触发spiderrequest_dropped信号
    • </

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com