scrapy全局setting各项配置的说明
运行环境 Runtime environment
1 2 3 4
| 操作系统: Windos10 IDE: pycharm 2021.3.1 x64 语言: python v3.9.1 框架: Scrapy
|
AUTOTHROTTLE_START_DELAY
AUTOTHROTTLE_START_DELAY = 3
开始下载时限速并延迟时间
AUTOTHROTTLE_MAX_DELAY
AUTOTHROTTLE_MAX_DELAY = 60
高并发请求时最大延迟时间
AWS_ACCESS_KEY_ID
AWS_ACCESS_KEY_ID
它是用于访问亚马逊网络服务。
默认值:无
AWS_SECRET_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
它是用于访问亚马逊网络服务。
BOT_NAME
BOT_NAME
它是一种可以用于构建用户代理机器人的名称。
默认值:“scrapybot”
eg:BOT_NAME=“scrapybot”
CONCURRENT_ITEMS
CONCURRENT_ITEMS
在用来并行地处理所述物品处理器的现有项目的最大数目。
默认 Item 并发数:100
CONCURRENT_REQUESTS
CONCURRENT_REQUESTS
其中Scrapy下载执行现有的最大请求数。
默认值:16
并发是指scrapy同时处理的request的数量,默认的全局并发限制为16,
可增加这个值,增加多少取决于爬虫占CPU多少,设置前最好测试一下,一般占在80-90%为好
CONCURRENT_REQUESTS_PER_DOMAIN
CONCURRENT_REQUESTS_PER_DOMAIN
现有的最大请求数,对于任何单域同时进行。
默认值:8
CONCURRENT_REQUESTS_PER_IP
CONCURRENT_REQUESTS_PER_IP
现有的请求的最大数量的同时执行任何单一的IP。
默认值:0(0表示忽略)
COOKIES_ENABLED = False
COOKIES_ENABLED = False
禁止cookies,有些站点会从cookies中判断是否为爬虫
DEFAULT_ITEM_CLASS
DEFAULT_ITEM_CLASS
它是用来表示一个数据单项。
默认值:“scrapy.item.Item”
DEFAULT_REQUEST_HEADERS
它是用于Scrapy的HTTP请求的默认标题。
默认值:
1 2 3 4
| { 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', }
|
DEPTH_LIMIT
因为蜘蛛的最大深度抓取任何网站。
默认值:0
爬取网站最大允许的深度(depth)值。如果为0,则没有限制
DEPTH_PRIORITY
整数值。
用于根据深度调整request优先级。
如果为0,则不根据深度进行优先级调整。
默认值:0
DEPTH_STATS
它指出是否收集详细的统计资料与否。
默认值:True
DEPTH_STATS_VERBOSE
当启用此设置,请求数统计中的每个详细深入的收集。
默认值:False
DNSCACHE_ENABLED
它是用来启用内存缓存DNS。
默认值:True
DNSCACHE_SIZE
它定义了在内存中缓存DNS的大小。
默认值:10000
DNS_TIMEOUT
它是用来设置超时DNS处理的查询。
默认值:60
DOWNLOADER
它是用来抓取过程中下载。
默认值:“scrapy.core.downloader.Downloader”
DOWNLOADER_MIDDLEWARES
这是字典类型,保存下载中间件及其运行先后顺序。
默认值: {}
它是用于Scrapy的HTTP请求的默认标题。
默认值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| { 'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware': 100, 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware': 300, 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware': 350, 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': 400, 'scrapy.downloadermiddlewares.retry.RetryMiddleware': 500, 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware': 550, 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware': 580, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 590, 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware': 600, 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': 700, 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 750, 'scrapy.downloadermiddlewares.chunked.ChunkedTransferMiddleware': 830, 'scrapy.downloadermiddlewares.stats.DownloaderStats': 850, 'scrapy.downloadermiddlewares.httpcache.HttpCacheMiddleware': 900, }
|
DOWNLOADER_STATS
此设置用于启用下载统计。
默认值:True
DOWNLOAD_DELAY
它定义的总时间下载它从下载网站的网页之前。
默认值:0
下载器在下载同一个网站下一个页面前需要等待的时间。
该选项可以用来限制爬取速度, 减轻服务器压力。
同时也支持小数。
默认情况下,Scrapy在两个请求间不等待一个固定的值,
而是使用0.5到1.5之间的一个随机值结果
作为等待 DOWNLOAD_DELAY 间隔。
DOWNLOAD_HANDLERS
它与下载处理程序的字典。
默认值: {}
DOWNLOAD_HANDLERS_BASE
它与默认情况下启用下载处理程序的字典。
默认值:
1 2 3 4 5 6
| { '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', }
|
DOWNLOAD_TIMEOUT
它的总时间下载到之前等待超时。
默认值:180
DOWNLOAD_MAXSIZE
这是响应的下载器下载的最大尺寸。
默认值:1073741824 (1024MB)
DOWNLOAD_WARNSIZE
它定义为响应下载警告的大小。
默认值:33554432 (32MB)
DUPEFILTER_CLASS
这是用于检测和是重复的请求的滤波的类。
默认值:“scrapy.dupefilters.RFPDupeFilter”
DUPEFILTER_DEBUG
当设置为true此设置记录所有重复的过滤器。
默认值:False
EDITOR
它是用来编辑使用编辑命令蜘蛛。
默认值:取决于环境
EXTENSIONS
它是具有在项目中启用的扩展字典。
默认值: {}
EXTENSIONS_BASE
它是具有内置的扩展字典。
默认值:
1 2 3 4 5 6 7 8 9 10 11
| { 'scrapy.extensions.corestats.CoreStats': 0, 'scrapy.telnet.TelnetConsole': 0, 'scrapy.extensions.memusage.MemoryUsage': 0, 'scrapy.extensions.memdebug.MemoryDebugger': 0, 'scrapy.extensions.closespider.CloseSpider': 0, 'scrapy.extensions.feedexport.FeedExporter': 0, 'scrapy.extensions.logstats.LogStats': 0, 'scrapy.extensions.spiderstate.SpiderState': 0, 'scrapy.extensions.throttle.AutoThrottle': 0, }
|
FEED_TEMPDIR
它是用来设置,其中履带临时文件可以存储自定义文件夹的目录。
ITEM_PIPELINES
它是具有管线的字典。
默认值: {}
ITEM_PIPELINES_BASE
默认: {}
保存项目中默认启用的pipeline的字典。 永远不要在项目中修改该设定,而是修改 ITEM_PIPELINES。
LOG_ENABLED
它定义如果日志被启用。
默认值:True
LOG_ENCODING
它定义了将用于记录的编码类型。
默认值: ‘UTF-8’
LOG_FILE
它是用于记录的输出文件的名称。logging输出的文件名。如果为None,则使用标准错误输出(standard error)。
默认值:无
它是利用它的日志信息可以被格式化的字符串。
默认值:’%(asctime)s [%(name)s] %(levelname)s: %(message)s’
它是利用它的日期/时间可以格式化字符串。
默认值: ‘%Y-%m-%d %H:%M:%S’
LOG_LEVEL
它定义最低日志级别。
默认值:“DEBUG”
log的最低级别。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG 。
LOG_STDOUT
此设置如果设置为true ,所有侑过程输出会出现在日志中。
默认值:False
MEMDEBUG_ENABLED
它定义如果内存调试启用。
默认值:False
MEMDEBUG_NOTIFY
它定义启用内存调试时,发送到特定地址的内存报告。
默认值: []
MEMUSAGE_ENABLED
它定义如果存储器使用是当scrapy过程超过存储器限制被启用。
默认值:False
MEMUSAGE_LIMIT_MB
如果定义了存储器的最大限制(in megabytes)被允许。在关闭Scrapy之前所允许的最大内存数(单位: MB)(如果 MEMUSAGE_ENABLED为True)。 如果为0,将不做限制。
默认值:0
MEMUSAGE_CHECK_INTERVAL_SECONDS
它用于通过设置间隔的长度,以检查本内存使用情况。
默认值:60.0
MEMUSAGE_NOTIFY_MAIL
它是用来当内存达到极限与电子邮件列表通知。
默认值:False
MEMUSAGE_REPORT
它定义如果内存使用情况报告要在关闭每个蜘蛛发送。
默认值:False
MEMUSAGE_WARNING_MB
它定义被发送警告之前被允许的总存储。
默认值:0
NEWSPIDER_MODULE
这是其中使用创造了新的蜘蛛模块genspider命令。
默认值: ‘’
RANDOMIZE_DOWNLOAD_DELAY
它定义的时候了Scrapy等待下载的同时从网站上请求一个随机量。如果启用,当从相同的网站获取数据时,Scrapy将会等待一个随机的值 (0.5到1.5之间的一个随机值 * DOWNLOAD_DELAY
默认值:True
REACTOR_THREADPOOL_MAXSIZE
它定义为在反应器线程池的最大尺寸。
默认值:10
REDIRECT_MAX_TIMES
它定义了一个请求多少次可以重定向。
默认值:20
REDIRECT_PRIORITY_ADJUST
设置时,该设置,调整的请求重定向优先级。修改重定向请求相对于原始请求的优先级。 负数意味着更多优先级
默认值:+2
RETRY_PRIORITY_ADJUST
设置时,该设置,调整请求重试的优先权。
默认值:-1
RETRY_ENABLED = False
对于失败的HTTP请求(如超时)进行重试会降低爬取效率,当爬取目标基数很大时,舍弃部分数据不影响大局,提高效率
ROBOTSTXT_OBEY
当设置为Scrapy遵循robots.txt政策true 。
默认值:False
robots.txt 是遵循 Robot协议 的一个文件,它保存在网站的服务器中,
它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页 不希望 你进行爬取收录。
在Scrapy启动后,会在第一时间访问网站的 robots.txt 文件,然后决定该网站的爬取范围。
SCHEDULER
它定义了用于抓取目的调度。
默认值:“scrapy.core.scheduler.Scheduler”
SPIDER_CONTRACTS
它是在有项目蜘蛛合同测试蜘蛛的字典。
默认值: {}
SPIDER_CONTRACTS_BASE
这是保持其在Scrapy默认启用Scrapy合同的字典。
默认值:
1 2 3 4 5
| { 'scrapy.contracts.default.UrlContract' : 1, 'scrapy.contracts.default.ReturnsContract': 2, 'scrapy.contracts.default.ScrapesContract': 3, }
|
SPIDER_LOADER_CLASS
它定义了实现一个类SpiderLoader API来加载 爬虫。
默认值:“scrapy.spiderloader.SpiderLoader”
SPIDER_MIDDLEWARES
这是设置蜘蛛中间件的字典。
默认值: {}
SPIDER_MIDDLEWARES_BASE
这是在Scrapy默认启用一个字典
保存 爬虫 中间件。
默认值:
1 2 3 4 5 6 7
| { 'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware': 50, 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware': 500, 'scrapy.spidermiddlewares.referer.RefererMiddleware': 700, 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware': 800, 'scrapy.spidermiddlewares.depth.DepthMiddleware': 900, }
|
SPIDER_MODULES
它是一种含有蜘蛛其中Scrapy将寻找模块列表。
默认值: []
STATS_CLASS
这是实现一类Stats Collector API来收集统计信息。
默认值:“scrapy.statscollectors.MemoryStatsCollector”
STATS_DUMP
当设置此设置true ,转储统计到日志中。
默认值:True
STATSMAILER_RCPTS
一旦蜘蛛刮完毕,Scrapy使用此设置发送统计数据。
默认值: []
TELNETCONSOLE_ENABLED
它定义是否启用telnetconsole。
默认值:True
TELNETCONSOLE_PORT
它定义了Telnet控制台端口。
默认值:[6023,6073]
TEMPLATES_DIR
它是包含可以在创建新的项目中使用的模板目录。
默认值: templates scrapy模块内部目录
URLLENGTH_LIMIT
它定义了将被允许抓取的网址的长度为URL的最大极限。
默认值:2083
USER_AGENT
它定义了在抓取网站所使用的用户代理。
默认值: “Scrapy / VERSION“