zoukankan      html  css  js  c++  java
  • scrapy中间件汇总

    downloader中间件:可以自定义中间件,及中间价优先级;

    i.   如何新增downloader middleware?重写process_requestprocess_responseprocess_exception函数;

    ii.  为什么要设计downloader middleware? 对request进行改写,或对下载行为进行规定。如规定是否发送cookie,规定缓存机制,规定重试机制,规定如何处理重定向数据等。

    iii. 内置的downloader middleware有哪些?约13个

        CookiesMiddleware:是否向web server发送cookie
        DefaultHeadersMiddleware:将所有request的头设置为默认模式
        DownloadTimeoutMiddleware:设置request的timeout
        HttpAuthMiddleware:对来自特定spider的request授权
        HttpCacheMiddleware:给request&response设置缓存策略
        HttpCompressionMiddleware:
        ChunkedTransferMiddleware:
        HttpProxyMiddleware:给所有request设置http代理
        RedirectMiddleware:处理request的重定向
        MetaRefreshMiddleware:根据meta-refresh html tag处理重定向
        RetryMiddleware:失败重试策略
        RobotsTxtMiddleware:robots封禁处理
        UserAgentMiddleware:支持user agent重写

    Spider中间件:可自定义中间件和优先级

    iv.  如何添加新的spider中间件?重载process_spider_input、process_spider_output、process_spider_exception、process_start_requests

    v.  内置的spider中间件有哪些?约5种

        DepthMiddleware:对抓取深度和深度优先级进行设置;
        HttpErrorMiddleware:设置成功码的范围
        OffsiteMiddleware:主域过滤
        RefererMiddleware:
        UrlLengthMiddleware:限定有效url的长度
  • 相关阅读:
    对流程和规范的思考
    我的一小时面试指南
    安全扫描工具nikto简单使用
    测试的角色
    测试的窘境
    关于重连测试的一点研究
    ETCD高可用特性学习
    Cgroup和Namespace在测试中的使用(下)
    单循环列表的删除前驱结点
    指针常量字符串
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12704828.html
Copyright © 2011-2022 走看看