setings配置并不需要全部开启,根据自己需求设定
# 项目名称
BOT_NAME = 'proxiesproject'
# 爬虫文件路径
SPIDER_MODULES = ['proxiesproject.spiders']
# 创建爬虫文件的模板,创建好的爬虫文件会放在对应的目录下
NEWSPIDER_MODULE = 'proxiesproject.spiders'
# 模拟浏览器请求(系统自定义,也可以 自己设置)
USER_AGENT = 'proxiesproject (+http://www.yourdomain.com)'
# 是否遵守robot协议:默认遵守
ROBOTSTXT_OBEY = False
# 设置由下载器请求的最大并发数量,默认是16个
CONCURRENT_REQUESTS = 32
# 设置请求的下载延时,默认0表示没有延时(以秒为单位)
#DOWNLOAD_DELAY = 3
# 设置网站的最大并发请求数量,默认是8个
CONCURRENT_REQUESTS_PER_DOMAIN = 16
# 设置某个IP下的最大并发请求数量,默认是0,
# 非0情况下,网站的最大请求并发数量无效,
# 这时候请求的并发数量是IP而不是网站
# 设置的DOWNLOAD_DELAY同样的是针对IP而不是网站了
CONCURRENT_REQUESTS_PER_IP = 16
# 是否携带cookies:默认是True,表示携带
COOKIES_ENABLED = False
# 跟踪cookies,默认为False
COOKIES_DEBUG =True
# 关于日志信息的设置(默认: 'DEBUG'调试模式)。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG
# 开启之后日志信息不回在终端显示,日志信息保存在你设置的XXX.log文件中
# 日志存储位置
LOG_FILE = "Middlewares.log"
# 一般信息
LOG_LEVEL = "INFO"
# 是一个终端的扩展插件,默认开启(爬虫的一些状态及信息)
TELNETCONSOLE_ENABLED = False(关闭)
# 设置默认请求头(cookies不要放在这里)
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}
# 设置和激活爬虫中间件
#SPIDER_MIDDLEWARES = {
# 'proxiesproject.middlewares.ProxiesprojectSpiderMiddleware': 543,
#}
# 设置和激活下载中间件(后面的数字表示优先级,数字越小,优先级越高)
DOWNLOADER_MIDDLEWARES = {
'proxiesproject.middlewares.ProxiesprojectDownloaderMiddleware': 543,
'proxiesproject.middlewares.UserAgentDownloadMiddlerware':542,
'proxiesproject.middlewares.ProxyDownloadMiddlerware':542,
'proxiesproject.middlewares.SeleniumDownloadMiddlerWare':543,
}
# 设置扩展
EXTENSIONS = {
'scrapy.extensions.telnet.TelnetConsole': None,
}
# 设置和激活管道文件(后面的数字表示优先级)
ITEM_PIPELINES = {
'proxiesproject.pipelines.ProxiesprojectPipeline': 300,
}
# 自动限速扩展(上一个请求和下一个请求的时间是不固定的)
Enable and configure the AutoThrottle extension (disabled by default)
# 默认情况下自动限速扩展是关闭的:False
AUTOTHROTTLE_ENABLED = True
# 初始的下载延时,默认是5秒
AUTOTHROTTLE_START_DELAY = 5
# 最大下载延时
AUTOTHROTTLE_MAX_DELAY = 60
# 针对于网站的最大并行请求数量
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# DEBUG调试模式,默认为False,开启改为True
AUTOTHROTTLE_DEBUG = False
# 设置数据缓存,默认情况下是未开启的
HTTPCACHE_ENABLED = True
# 设置缓存的超时时间,默认为0表示永久有效,单位为秒
HTTPCACHE_EXPIRATION_SECS = 0
# 设置缓存数据的存储路径
HTTPCACHE_DIR = 'httpcache'
# 忽略某一些状态码的请求结果(response结果不做缓存)
HTTPCACHE_IGNORE_HTTP_CODES = []
# 开启缓存的扩展插件,可以把缓存写在文件里
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
# 下次发起请求会先从缓存中找