BOT_NAME = 'myproject' # 爬虫项目的名称;
SPIDER_MODULES = ['myproject.spiders'] # 爬虫程序的模块路径;
NEWSPIDER_MODULE = 'myproject.spiders' # 新建爬虫的模块路径;
# 用户代理,用于模拟浏览器发送请求;
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37'
ROBOTSTXT_OBEY = True # 是否遵守robots.txt协议;
# 控制每个域名同时发送的请求数量(默认:16)
CONCURRENT_REQUESTS = 8
DOWNLOAD_DELAY = 3 # 下载延迟,用于控制请求的时间间隔;
RANDOMIZE_DOWNLOAD_DELAY = True # 开启或关闭下载延迟时间的随机化。
# 控制每个域名或IP地址同时发送的请求数量
CONCURRENT_REQUESTS_PER_DOMAIN = 16
CONCURRENT_REQUESTS_PER_IP = 16
COOKIES_ENABLED = False # 是否启用Cookie;
# 是否启用Telnet调试控制台。其默认值为True,表示启用Telnet调试控制台。
TELNETCONSOLE_ENABLED = False
# 默认的请求头;
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}
# 配置Spider中间件
# 数字 543 表示该中间件的优先级,数字越小,优先级越高。
SPIDER_MIDDLEWARES = {
'myproject.middlewares.MyprojectSpiderMiddleware': 543,
}
# 下载中间件,负责修改请求、响应、异常等属性;
# 数字543表示该下载中间件的优先级,数字越小优先级越高
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.MyprojectDownloaderMiddleware': 543,
}
# 控制哪些扩展程序启用或禁用(禁用:None)
EXTENSIONS = {
'scrapy.extensions.telnet.TelnetConsole': None,
}
# 管道,负责处理从爬虫中获取到的数据;
# 数字代表管道的优先级,数字越小表示优先级越高。
ITEM_PIPELINES = {
'myproject.pipelines.MyprojectPipeline': 300,
}
# 启用或禁用自动限速功能。其默认值为False,表示不启用自动限速功能。
AUTOTHROTTLE_ENABLED = True
# 起始下载延迟时间,单位为秒。表示发送第一个请求后等待多长时间再发送下一个请求,避免爬虫过于频繁地请求目标网站。
AUTOTHROTTLE_START_DELAY = 5
# 最大下载延迟时间,单位为秒。当网络延迟较高时,限制下载延迟时间,避免爬虫继续发起大量请求造成对目标网站的压力过大。
AUTOTHROTTLE_MAX_DELAY = 60
# 每个目标网站的平均请求数。自动限速功能根据该参数动态调整下载延迟时间,以达到尽量让每个目标网站的请求数量接近该值的效果。
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# 是否开启自动限速调试模式。如果设置为True,则在每个收到的响应中打印出自动限速相关的信息和统计数据。
AUTOTHROTTLE_DEBUG = False
HTTPCACHE_ENABLED = True # 设置为True,表示启用HTTP缓存。
HTTPCACHE_EXPIRATION_SECS = 0 # HTTP缓存的过期时间,单位为秒。如果设置为0,则表示缓存永不过期,一直使用缓存数据。
HTTPCACHE_DIR = 'httpcache' # HTTP缓存存储的目录。
HTTPCACHE_IGNORE_HTTP_CODES = [] # 忽略的HTTP状态码列表。如果响应的状态码在该列表中,将不会被缓存。
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage' # HTTP缓存的存储方式,默认为scrapy.extensions.httpcache.FilesystemCacheStorage,即文件系统缓存。