settings.py中各行的功能和作用

本文详细解释了Scrapy项目中的settings.py配置文件的关键选项,包括爬虫名称、模块路径、用户代理、并发请求、延迟设置、数据处理、日志管理等。

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

settings.py 是 Scrapy 项目的配置文件,包含了许多用于配置爬虫行为的选项。以下是 settings.py 中一些常见的配置项及其功能和作用:

  1. BOT_NAME:
  • 作用:定义爬虫的名称。
  • 示例:BOT_NAME = 'mybot'
  1. SPIDER_MODULES 和 NEWSPIDER_MODULE:
  • 作用:定义了爬虫模块的路径,用于寻找爬虫。
  • 示例:SPIDER_MODULES = ['myproject.spiders']NEWSPIDER_MODULE = 'myproject.spiders'
  1. USER_AGENT:
  • 作用:定义用户代理,模拟浏览器请求。
  • 示例:USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  1. ROBOTSTXT_OBEY:
  • 作用:定义是否遵循 robots.txt 规则。
  • 示例:ROBOTSTXT_OBEY = True
  1. CONCURRENT_REQUESTS:
  • 作用:定义同时发送的请求数量。
  • 示例:CONCURRENT_REQUESTS = 32
  1. DOWNLOAD_DELAY 和 RANDOMIZE_DOWNLOAD_DELAY:
  • 作用:设置下载延迟和是否随机化下载延迟。
  • 示例:DOWNLOAD_DELAY = 2RANDOMIZE_DOWNLOAD_DELAY = True
  1. COOKIES_ENABLED:
  • 作用:定义是否启用 Cookies。
  • 示例:COOKIES_ENABLED = False
  1. DEFAULT_REQUEST_HEADERS:
  • 作用:设置默认的请求头。
  • 示例:DEFAULT_REQUEST_HEADERS = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'}
  1. ITEM_PIPELINES:
  • 作用:定义启用的 Item Pipeline,控制数据的处理流程。
  • 示例:ITEM_PIPELINES = {'myproject.pipelines.MyPipeline': 300}
  1. LOG_LEVEL:
  • 作用:设置日志级别。
  • 示例:LOG_LEVEL = 'DEBUG'
  1. FEED_FORMAT 和 FEED_URI:
  • 作用:定义数据导出的格式和存储路径。
  • 示例:FEED_FORMAT = 'json'FEED_URI = 'output.json'
  1. CONCURRENT_REQUESTS_PER_DOMAIN 和 CONCURRENT_REQUESTS_PER_IP:
  • 作用:设置每个域名和 IP 地址的并发请求数量。
  • 示例:CONCURRENT_REQUESTS_PER_DOMAIN = 8CONCURRENT_REQUESTS_PER_IP = 0
  1. AUTOTHROTTLE_ENABLED:
  • 作用:定义是否启用自动限速。
  • 示例:AUTOTHROTTLE_ENABLED = True
  1. HTTPCACHE_ENABLED:
  • 作用:定义是否启用 HTTP 缓存。
  • 示例:HTTPCACHE_ENABLED = True
  1. DNSCACHE_ENABLED:
  • 作用:定义是否启用 DNS 缓存。
  • 示例:DNSCACHE_ENABLED = True
  1. DOWNLOADER_MIDDLEWARES:
  • 作用:定义下载中间件,允许在请求/响应处理过程中进行操作。
  • 示例:DOWNLOADER_MIDDLEWARES = {'myproject.middlewares.CustomDownloaderMiddleware': 543}
  1. SPIDER_MIDDLEWARES:
  • 作用:定义爬虫中间件,允许在爬取过程中进行操作。
  • 示例:SPIDER_MIDDLEWARES = {'myproject.middlewares.CustomSpiderMiddleware': 543}
  1. DOWNLOAD_TIMEOUT:
  • 作用:定义下载超时时间(单位:秒)。
  • 示例:DOWNLOAD_TIMEOUT = 180
  1. RETRY_TIMES 和 RETRY_HTTP_CODES:
  • 作用:定义请求重试次数和需要重试的 HTTP 状态码。
  • 示例:RETRY_TIMES = 3RETRY_HTTP_CODES = [500, 502, 503, 504, 522, 524, 408]
  1. HTTPERROR_ALLOWED_CODES:
  • 作用:定义在响应状态为 HTTP 错误码时仍然被处理的额外的 HTTP 错误码。
  • 示例:HTTPERROR_ALLOWED_CODES = [404]
  1. LOG_FILE:
  • 作用:定义日志输出的文件名。
  • 示例:LOG_FILE = 'scrapy.log'
  1. TELNETCONSOLE_ENABLED 和 TELNETCONSOLE_PORT:
  • 作用:定义是否启用 Telnet 控制台以及 Telnet 控制台的端口号。
  • 示例:TELNETCONSOLE_ENABLED = FalseTELNETCONSOLE_PORT = None
  1. EXTENSIONS:
  • 作用:定义扩展,用于对 Scrapy 运行时进行控制和监控。
  • 示例:EXTENSIONS = {'scrapy.extensions.telnet.TelnetConsole': None}
  1. DUPEFILTER_CLASS:
  • 作用:定义去重过滤器的类。
  • 示例:DUPEFILTER_CLASS = 'scrapy.dupefilters.RFPDupeFilter'
  1. MEDIA_ALLOW_REDIRECTS:
  • 作用:定义是否允许在下载器中进行媒体重定向。
  • 示例:MEDIA_ALLOW_REDIRECTS = True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值