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(默认值),该选项将不起作用
'''

  

posted @   米 立  阅读(3780)  评论(1编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· Tinyfox 发生重大改版
点击右上角即可分享
微信分享提示