zoukankan      html  css  js  c++  java
  • scrapy---setting的字段含义

    # -*- coding: utf-8 -*-
    
    # Scrapy settings for lizi project
    #
    # For simplicity, this file contains only settings considered important or
    # commonly used. You can find more settings consulting the documentation:
    #
    #     http://doc.scrapy.org/en/latest/topics/settings.html
    #     http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
    #     http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html
    
    BOT_NAME = 'lizi'
    
    SPIDER_MODULES = ['lizi.spiders']
    NEWSPIDER_MODULE = 'lizi.spiders'
    
    
    # Crawl responsibly by identifying yourself (and your website) on the user-agent
    USER_AGENT = 'lizi (+http://www.yourdomain.com)'
    '''默认: "Scrapy/VERSION (+http://scrapy.org)"
    
    爬取的默认User-Agent,除非被覆盖。'''
    # Obey robots.txt rules
    #ROBOTSTXT_OBEY = True
    ROBOTSTXT_OBEY = False
    '如果启用,Scrapy将会尊重 robots.txt策略'
    CONCURRENT_REQUESTS = 32
    '''***********************
    Configure maximum concurrent requests performed by Scrapy (default: 16)
    Scrapy downloader 并发请求(concurrent requests)的最大值
    '''
    # Configure a delay for requests for the same website (default: 0)
    # See http://scrapy.readthedocs.org/en/latest/topics/settings.html#download-delay
    # See also autothrottle settings and docs
    
    DOWNLOAD_DELAY = 3
    '''************************
    下载器在下载同一个网站下一个页面前需要等待的时间。
    该选项可以用来限制爬取速度, 减轻服务器压力。同时也支持小数:
    该设定影响(默认启用的) RANDOMIZE_DOWNLOAD_DELAY 设定。 默认情况下,Scrapy在两个请求间不等待一个固定的值,
     而是使用0.5到1.5之间的一个随机值 * DOWNLOAD_DELAY 的结果作为等待间隔。
    当 CONCURRENT_REQUESTS_PER_IP 非0时,延迟针对的是每个ip而不是网站。
    另外您可以通过spider的 download_delay 属性为每个spider设置该设定。
    '''
    
    # The download delay setting will honor only one of:
    CONCURRENT_REQUESTS_PER_DOMAIN = 16
    '对单个网站进行并发请求的最大值'
    CONCURRENT_REQUESTS_PER_IP = 16
    
    
    '''
    对单个IP进行并发请求的最大值。如果非0,则忽略 CONCURRENT_REQUESTS_PER_DOMAIN 设定, 
    使用该设定。 也就是说,并发限制将针对IP,而不是网站。
    该设定也影响 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0,
    下载延迟应用在IP而不是网站上。
    '''
    
    # Disable cookies (enabled by default)
    COOKIES_ENABLED = False
    '是否启用cookies middleware。如果关闭,cookies将不会发送给web server。'
    # Disable Telnet Console (enabled by default)
    TELNETCONSOLE_ENABLED = False
    '表明 telnet 终端 (及其插件)是否启用的布尔值。'
    # Override the default request headers:
    DEFAULT_REQUEST_HEADERS = {
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Language': 'en',}
    'Scrapy HTTP Request使用的默认header。由 DefaultHeadersMiddleware 产生。这里通常可以自己添加更完整'
    # Enable or disable spider middlewares
    # See http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html
    
    SPIDER_MIDDLEWARES = {
        'lizi.middlewares.MyCustomSpiderMiddleware': 543,
    }
    '''要启用spider中间件,您可以将其加入到 SPIDER_MIDDLEWARES 设置中。 
    该设置是一个字典,键位中间件的路径,值为中间件的顺序(order)。如上就是开启'''
    # Enable or disable downloader middlewares
    # See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
    DOWNLOADER_MIDDLEWARES = {
        'lizi.middlewares.MyCustomDownloaderMiddleware': 543,
    }
    '''保存项目中启用的下载中间件及其顺序的字典。 更多内容请查看 激活下载器中间件
    DOWNLOADER_MIDDLEWARES 设置会与Scrapy定义的 DOWNLOADER_MIDDLEWARES_BASE 设置合并(但不是覆盖), 而后根据顺序(order)进行排序,
    最后得到启用中间件的有序列表: 第一个中间件是最靠近引擎的,最后一个中间件是最靠近下载器的。
    关于如何分配中间件的顺序请查看 DOWNLOADER_MIDDLEWARES_BASE 设置,
    而后根据您想要放置中间件的位置选择一个值。 
    由于每个中间件执行不同的动作,您的中间件可能会依赖于之前(或者之后)执行的中间件,
    因此顺序是很重要的'''
    # Enable or disable extensions
    # See http://scrapy.readthedocs.org/en/latest/topics/extensions.html
    EXTENSIONS = {    'scrapy.extensions.telnet.TelnetConsole': None,
    }
    
    # Configure item pipelines
    # See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html
    
    
    ITEM_PIPELINES = {
        'lizi.pipelines.SomePipeline': 300,
    }
    #这里如果一个项目多个spiders的时候,每次运行的时候每次要在这里制定一个对应的pipeline
    '''
    保存项目中启用的pipeline及其顺序的字典。该字典默认为空,值(value)任意。 不过值(value)习惯设定在0-1000范围内。
    为了兼容性,ITEM_PIPELINES 支持列表,不过已经被废弃了。
    样例:
    ITEM_PIPELINES = {
        'mybot.pipelines.validate.ValidateMyItem': 300,
        'mybot.pipelines.validate.StoreMyItem': 800,
    }'''
    
    # Enable and configure the AutoThrottle extension (disabled by default)
    # See http://doc.scrapy.org/en/latest/topics/autothrottle.html
    AUTOTHROTTLE_ENABLED = True
    '启用自动限速AutoThrottle扩展'
    # The initial download delay
    AUTOTHROTTLE_START_DELAY = 5
    '初始下载延迟(单位:秒)'
    # The maximum download delay to be set in case of high latencies
    AUTOTHROTTLE_MAX_DELAY = 60
    '初始下载延迟(单位:秒)'
    # The average number of requests Scrapy should be sending in parallel to
    # each remote server
    AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
    # Enable showing throttling stats for every response received:
    AUTOTHROTTLE_DEBUG = False
    '起用AutoThrottle调试(debug)模式,展示每个接收到的response。 您可以通过此来查看限速参数是如何实时被调整的'
    # Enable and configure HTTP caching (disabled by default)
    # See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
    HTTPCACHE_ENABLED = True
    'HTTP缓存是否开启。'
    HTTPCACHE_EXPIRATION_SECS = 0
    '''缓存的request的超时时间,单位秒。
    超过这个时间的缓存request将会被重新下载。如果为0,则缓存的request将永远不会超时。'''
    HTTPCACHE_DIR = 'httpcache'
    '''存储(底层的)HTTP缓存的目录。如果为空,则HTTP缓存将会被关闭。 如果为相对目录,则相对于项目数据目录(project data dir)。
    更多内容请参考 默认的Scrapy项目结构 。'''
    HTTPCACHE_IGNORE_HTTP_CODES = []
    '''不缓存设置中的HTTP返回值(code)的request。'''
    HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
    '实现缓存存储后端的类。'
    
    #一下内容为默认setting.py文件没有的字段,但是可以自己添加
    
    CONCURRENT_ITEMS
    '''
    默认: 100
    Item Processor(即 Item Pipeline) 同时处理(每个response的)item的最大值。
    '''
    
    DEFAULT_ITEM_CLASS
    '''默认: 'scrapy.item.Item'
    the Scrapy shell 中实例化item使用的默认类'''
    
    
    DEPTH_LIMIT
    '''默认: 0
    爬取网站最大允许的深度(depth)值。如果为0,则没有限制'''
    DEPTH_PRIORITY
    '''默认: 0
    整数值。用于根据深度调整request优先级。
    如果为0,则不根据深度进行优先级调整'''
    DEPTH_STATS
    '''
    默认: True
    是否收集最大深度数据。'''
    DEPTH_STATS_VERBOSE
    '''默认: False
    是否收集详细的深度数据。如果启用,每个深度的请求数将会被收集在数据中。'''
    
    DOWNLOAD_HANDLERS
    '''
    默认: {}
    保存项目中启用的下载处理器(request downloader handler)的字典。 例子请查看 DOWNLOAD_HANDLERS_BASE 。
    DOWNLOAD_HANDLERS_BASE
    默认:
    {
        'file': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',
        'http': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
        'https': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
        's3': 'scrapy.core.downloader.handlers.s3.S3DownloadHandler',
    }
    保存项目中默认启用的下载处理器(request downloader handler)的字典。 永远不要在项目中修改该设定,而是修改 DOWNLOADER_HANDLERS 。
    如果需要关闭上面的下载处理器,您必须在项目中的 DOWNLOAD_HANDLERS 设定中设置该处理器,并为其赋值为 None 。 例如,关闭文件下载处理器:
    DOWNLOAD_HANDLERS = {
        'file': None,
    }'''
    DOWNLOAD_TIMEOUT
    '''
    默认: 180
    下载器超时时间(单位: 秒)。'''
    
    LOG
    '''
    LOG_ENABLED
    默认: True
    是否启用logging。
    LOG_ENCODING
    默认: 'utf-8'
    logging使用的编码。
    LOG_FILE
    默认: None
    logging输出的文件名。如果为None,则使用标准错误输出(standard error)。
    LOG_LEVEL
    默认: 'DEBUG'
    log的最低级别。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG。更多内容请查看 Logging 。
    LOG_STDOUT
    默认: False
    如果为 True ,进程所有的标准输出(及错误)将会被重定向到log中。例如, 执行 print 'hello' ,其将会在Scrapy log中显示。'''
    
    RANDOMIZE_DOWNLOAD_DELAY
    '''
    默认: True
    如果启用,当从相同的网站获取数据时,Scrapy将会等待一个随机的值 (0.5到1.5之间的一个随机值 * DOWNLOAD_DELAY)。
    该随机值降低了crawler被检测到(接着被block)的机会。某些网站会分析请求, 查找请求之间时间的相似性。
    随机的策略与 wget --random-wait 选项的策略相同。
    若 DOWNLOAD_DELAY 为0(默认值),该选项将不起作用
    '''
    

      

  • 相关阅读:
    4-Python3从入门到实战—基础之数据类型(字符串-String)
    3-Python3从入门到实战—基础之数据类型(数字-Number)
    前端工程化—部署
    前端工程化
    PHP与MySQL设计模式:代理模式
    移动前端开发入门(一)
    PHP页面间传值的几种方法
    PHP文件上传及下载源码
    PHP文件操作
    JavaScript正则表达式
  • 原文地址:https://www.cnblogs.com/xueli/p/7250537.html
Copyright © 2011-2022 走看看