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

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)。

默认值:无

LOG_FORMAT

它是利用它的日志信息可以被格式化的字符串。

默认值:’%(asctime)s [%(name)s] %(levelname)s: %(message)s’

LOG_DATEFORMAT

它是利用它的日期/时间可以格式化字符串。

默认值: ‘%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“