scrapy中都setting.py的设置
scrapy中的setting.py源码
# -*- coding: utf-8 -*-
BOT_NAME = 'demo'
#默认: 'scrapybot'
#Scrapy项目实现的bot的名字(也未项目名称)。 这将用来构造默认 User-Agent,同时也用来log。
#当使用 startproject 命令创建项目时其也被自动赋值。
SPIDER_MODULES = ['demo.spiders']
#默认: []
#Scrapy搜索spider的模块列表,所以爬虫所在的路径要写入这里。
NEWSPIDER_MODULE = 'demo.spiders'
#默认: ''
#使用 genspider 命令创建新spider的模块。
USER_AGENT = 'demo (+http://www.yourdomain.com)'
#默认: "Scrapy/VERSION (+http://scrapy.org)"
#爬取的默认User-Agent,除非被覆盖。
ROBOTSTXT_OBEY = False
#默认: False
#如果启用,Scrapy将会尊重 robots.txt策略
CONCURRENT_REQUESTS = 32
#默认: 16
#Scrapy downloader 并发请求(concurrent requests)的最大值。
DOWNLOAD_DELAY = 3
#默认: 0
#下载器在下载同一个网站下一个页面前需要等待的时间。该选项可以用来限制爬取速度, 减轻服务器压力
CONCURRENT_REQUESTS_PER_DOMAIN = 16
#默认: 8
#对单个网站进行并发请求的最大值
CONCURRENT_REQUESTS_PER_IP = 16
#默认: 0
#对单个IP进行并发请求的最大值。如果非0,则忽略 CONCURRENT_REQUESTS_PER_DOMAIN 设定, 使用该设定。 也就是说,并发限制将针对IP,而不是网站。
#该设定也影响 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0,下载延迟应用在IP而不是网站上。
COOKIES_ENABLED = False
#默认不开启cookie
#False:使用setting的cookie
#True:使用自定义的cookie
TELNETCONSOLE_ENABLED = False
#默认: True
#表明 telnet 终端 (及其插件)是否启用的布尔值
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}
#Scrapy HTTP Request使用的默认header
SPIDER_MIDDLEWARES = {
'demo.middlewares.DemoSpiderMiddleware': 543,
}
#默认:: {}
#保存项目中启用的下载中间件及其顺序的字典。
DOWNLOADER_MIDDLEWARES = {
'demo.middlewares.DemoDownloaderMiddleware': 543,
}
#默认{}
#保存项目中启用的下载中间件及其顺序的字典
EXTENSIONS = {
'scrapy.extensions.telnet.TelnetConsole': None,
}
#默认 {}
#保存项目中启用的插件及其顺序的字典,启用或禁用扩展程序。
ITEM_PIPELINES = {
'demo.pipelines.DemoPipeline': 300,
}
#默认: {}
#保存项目中启用的pipeline及其顺序的字典。该字典默认为空,值(value)任意。 不过值(value)习惯设定在0-1000范围内。
AUTOTHROTTLE_ENABLED = True
#启用和配置AutoThrottle扩展(默认情况下禁用)
AUTOTHROTTLE_START_DELAY = 5
#初始下载延迟
AUTOTHROTTLE_MAX_DELAY = 60
#在高延迟的情况下设置的最大下载延迟
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
#Scrapy请求的平均数量应该并行发送每个远程服务器
AUTOTHROTTLE_DEBUG = False
#启用显示所收到的每个响应的调节统计信息
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
一般情况下,只要配置几个key:
- ROBOTSTXT_OBEY = False#关闭爬虫协议
- COOKIES_ENABLED#启用自己cookie
- ITEM_PIPELINES#配置管道文件
- DOWNLOADER_MIDDLEWARES#启用中间插件