zoukankan      html  css  js  c++  java
  • Scrapy处理200-300范围之外的响应代码

    HttpErrorMiddleware 

    scrapy.spidermiddlewares.httperror.HttpErrorMiddleware

    过滤掉不成功(错误)的HTTP响应,以便蜘蛛不必处理它们,这些(大多数时候)会产生开销,消耗更多资源,并使蜘蛛逻辑更复杂。

    根据HTTP标准,成功的响应是那些状态代码在200-300范围内的响应。

    如果您仍希望处理该范围之外的响应代码,则可以使用handle_httpstatus_listspider属性或HTTPERROR_ALLOWED_CODES设置指定spider能够处理的响应代码 

    例如,如果您希望蜘蛛处理404响应,您可以执行以下操作:

    class MySpider(CrawlSpider):

        handle_httpstatus_list = [404]

    即在settings中增加HTTPERROR_ALLOWED_CODES = [403], HTTPERROR_ALLOWED_CODES默认是[]
    

    所述handle_httpstatus_list的键Request.meta也可以被用于指定的响应代码,以允许在每个请求基础。您还可以设置meta键handle_httpstatus_all 来True,如果你想以允许请求的任何响应代码。

    但请记住,处理非200响应通常是一个坏主意,除非你真的知道你在做什么。

  • 相关阅读:
    软件工程——股票利润
    软件工程——爬楼梯
    总结
    团队4
    团队答辩
    团队3
    软工2
    团队合作(1)
    软件工程第二次作业
    软件工程第一次作业(2)
  • 原文地址:https://www.cnblogs.com/ltn26/p/10973442.html
Copyright © 2011-2022 走看看