Scrapy settings相关配置

本文详细介绍了Scrapy框架的配置参数,包括项目名称、爬虫存储路径、模拟浏览器请求、遵守robots协议、并发请求数量、下载延迟等核心配置,以及中间件、管道文件和日志配置的具体设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在settings里可以自定义配置scrapy组件

#项目名称,
BOT_NAME = 'downloadware'

# 爬虫存储的文件路径
SPIDER_MODULES = ['downloadware.spiders']

# 创建爬虫文件的模板,创建好的爬虫文件会存放在这个目录下
NEWSPIDER_MODULE = 'downloadware.spiders'

以上三项在创建Scrapy项目的时候就会自动创建好

# 模拟浏览器请求,用户代理,一般设置这个参数用来伪装浏览器请求
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'

# 是否遵行robots协议,为False时,表示不遵守,默认为True,表示遵守
ROBOTSTXT_OBEY = False

# Scrapy downloader(下载器) 处理的最大的并发请求数量。 默认: 16
CONCURRENT_REQUESTS = 10

# 下载延迟的秒数,用来限制访问的频率,默认为0,没有延时
DOWNLOAD_DELAY = 0.25

# 每个域名下能够被执行的最大的并发请求数据量,默认8个
CONCURRENT_REQUESTS_PER_DOMAIN = 16

# 设置某个IP最大并发请求数量,默认0个
ONCURRENT_REQUESTS_PER_IP = 16
# 1. 如果ONCURRENT_REQUESTS_PER_IP非0,则忽略 CONCURRENT_REQUESTS_PER_DOMAIN 设定,使用ONCURRENT_REQUESTS_PER_IP设定。 也就是说,并发限制 将针对IP,而不是网站。
# 2. 该设定也会影响 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0, 下载延迟应用在IP而不是网站上。

# 是否要携带cookies,一般情况下, 不是必须要携带cookies的请求,我们 将这个参数设置为False,默认为: True
COOKIES_ENABLED = True


# 设置默认的请求头,注意在这里设置的cookie不会生效
DEFAULT_REQUEST_HEADERS = {

'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
}

中间件设置

#设置和激活爬虫中间件
SPIDER_MIDDLEWARES = {
    'downloadware.middlewares.DownloadwareSpiderMiddleware': 543,
}


#设置和激活下载中间件
DOWNLOADER_MIDDLEWARES = {
    "downloadware.middlewares.UserAgentDown":543
}

#设置和激活管道文件

ITEM_PIPELINES = {
    'downloadware.pipelines.DownloadwarePipeline': 300,
}
# 中间件后面的数值表示优先级,数值越小,优先执行

扩展设置


#自动限速扩展(实现上一个请求和下一个请求的时间是不固定的,默认为False
AUTOTHROTTLE_ENABLED = True

# 相关设置
#初始的下载延时默认5秒
AUTOTHROTTLE_START_DELAY = 5

#最大下载延时
AUTOTHROTTLE_MAX_DELAY = 60


#针对网站最大的并行请求数量
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0


#调试模式(可以展示每个response每个限速时间)默认为False
AUTOTHROTTLE_DEBUG = False



#设置数据缓存默认为False
HTTPCACHE_ENABLED = True

#开启缓存的扩展插件
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

#设置缓存的超时时间默认为0表示永远生效
HTTPCACHE_EXPIRATION_SECS = 0

#设置缓存数据的存储路径

HTTPCACHE_DIR = 'httpcache'

#忽略某些状态码的请求结果
HTTPCACHE_IGNORE_HTTP_CODES = []

日志配置

LOG_ENABLED = True
# 默认: True 是否启用logging。
LOG_ENCODING = 'utf-8'
# 默认: 'utf-8'  logging使用的编码。
LOG_LEVEL = 'DEBUG'
# 默认: 'DEBUG' log的最低级别。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG 。

#CRITICAL   严重错误
#ERROR   一般错误
#WARNING    警告信息
#INFO   一般信息
#DEBUG   调试信息

LOG_FILE
#默认: None
# logging 输出的文件名。如果为None,则使用标准错误输出(standard error)。  
# Logging 使用 Scrapy提供了log功能,可以通过 logging 模块使用。

# 例子
LOG_FILE = "asd.log"
LOG_LEVEL = "INFO"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值