scrapy---setting的字段含义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | # -*- 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(默认值),该选项将不起作用 ''' |
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· Tinyfox 发生重大改版