笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

下载器中间件

发布者: 笨鸟自学网



DefaultHeadersMiddleware

classscrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware[源代码]

此中间件设置在 DEFAULT_REQUEST_HEADERS 设置。

DownloadTimeoutMiddleware

classscrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware[源代码]

此中间件为中指定的请求设置下载超时 DOWNLOAD_TIMEOUT 设置或 download_timeout 蜘蛛属性。

注解

您还可以使用设置每个请求的下载超时 download_timeout request.meta key;即使禁用downloadTimeoutMiddleware,也支持此功能。

HttpAuthMiddleware

classscrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware[源代码]

此中间件使用 Basic access authentication (又名。HTTP AUTH)。

若要为爬行器启用HTTP身份验证,请将 http_user 和 http_pass 爬行器属性添加到身份验证数据,并且 http_auth_domain 需要此身份验证的域的Spider属性(其子域也将以相同方式处理)。您可以设置 http_auth_domain 至 None 为所有请求启用身份验证,但您可能会将身份验证凭据泄露给不相关的域。

警告

在以前的Scrapy版本中,HttpAuthMiddleware随所有请求一起发送身份验证数据,如果爬行器向几个不同的域发出请求,这是一个安全问题。目前,如果 http_auth_domain 属性,则中间件将使用第一个请求的域,这将适用于某些爬行器,但不适用于其他爬行器。在将来,中间件反而会产生错误。

例子::

from scrapy.spiders import CrawlSpider

class SomeIntranetSiteSpider(CrawlSpider):

    http_user = 'someuser'
    http_pass = 'somepass'
    http_auth_domain = 'intranet.example.com'
    name = 'intranet.example.com'

    # .. rest of the spider code omitted ...

HttpCacheMiddleware

classscrapy.downloadermiddlewares.httpcache.HttpCacheMiddleware

此中间件为所有HTTP请求和响应提供低级缓存。它必须与缓存存储后端以及缓存策略相结合。

带有三个HTTP缓存存储后端的 Scrapy 船:

  • 文件系统存储后端(默认)

  • DBM存储后端

您可以使用 HTTPCACHE_STORAGE 设置。或者你也可以 implement your own storage backend.

Scrapy附带两个HTTP缓存策略:

  • RCF2616政策

  • 虚拟策略(默认)

可以使用更改HTTP缓存策略 HTTPCACHE_POLICY 设置。或者您也可以实现自己的策略。

您还可以避免在使用 dont_cache 元密钥相等 True .


上一篇:体系结构概述下一篇:蜘蛛中间件

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-10-18 13:34 , Processed in 0.020034 second(s), 17 queries .

© 2001-2020

返回顶部