Article / 文章中心

Python爬虫:scrapy框架log日志设置

发布时间:2021-11-23 点击数:581

Scrapy提供5层logging级别:

1. CRITICAL - 严重错误  2. ERROR - 一般错误  3. WARNING - 警告信息  4. INFO - 一般信息  5. DEBUG - 调试信息

logging设置

通过在setting.py中进行以下设置可以被用来配置logging

以下配置均未默认值

# 是否启用日志 LOG_ENABLED=True  # 日志使用的编码 LOG_ENCODING='utf-8'  # 日志文件(文件名) LOG_FILE=None  # 日志格式 LOG_FORMAT='%(asctime)s [%(name)s] %(levelname)s: %(message)s'  # 日志时间格式 LOG_DATEFORMAT='%Y-%m-%d %H:%M:%S'  # 日志级别 CRITICAL, ERROR, WARNING, INFO, DEBUG LOG_LEVEL='DEBUG'  # 如果等于True,所有的标准输出(包括错误)都会重定向到日志,例如:print('hello') LOG_STDOUT=False  # 如果等于True,日志仅仅包含根路径,False显示日志输出组件 LOG_SHORT_NAMES=False 

配置示例

# setting.py  from datetime import datetime  # 文件及路径,log目录需要先建好 today = datetime.now() log_file_path = "log/scrapy_{}_{}_{}.log".format(today.year, today.month, today.day)  # 日志输出 LOG_LEVEL = 'DEBUG' LOG_FILE = log_file_path

使用

import logging logger = logging.getLogger(__name__) logger.warning("This is a warning")

或者

import scrapy  class MySpider(scrapy.Spider):   name = 'myspider'  start_urls = ['https://scrapinghub.com']   def parse(self, response):  self.logger.info('Parse function called on %s', response.url)