• 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的长度
  • 相关阅读:
    [转载]c++转python
    [转载]One-hot编码
    [转载]各种机器学习算法的应用场景
    SVC和SVR
    机器学习-正则化+回归与分类辨析
    C#编译时,提示缺少NuGet包
    C++中 左值和右值的区别
    C++11并发编程实战 免费书籍
    静态库和动态库
    C++中string类
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12704828.html
Copyright © 2020-2023  润新知