爬虫的日志文件设置-logging

在编写爬虫时,设置日志文件是一种良好的实践,可以帮助你记录程序执行过程中的关键信息、错误和异常,以便后续调试和分析。下面是一个更详细的示例,展示如何在 Python 中使用 logging 模块来配置日志记录

import logging

# 配置日志记录器
logging.basicConfig(filename='spider.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# 示例爬虫函数
def my_spider(url):
    try:
        # 模拟爬取网页的过程
        # 这里可以是你实际的爬取网页的代码
        logging.info(f'Successfully crawled {url}')
        
        # 假设在爬取过程中出现了一些警告信息
        # logging.warning('Some warning message')
        
        # 假设在爬取过程中出现了一些调试信息
        # logging.debug('Some debug message')
        
    except Exception as e:
        # 捕获并记录异常信息
        logging.error(f'Error while crawling {url}: {e}', exc_info=True)

# 调用爬虫函数
my_spider('http://example.com')

我们使用 logging.basicConfig() 函数配置了日志记录器。参数 filename='spider.log' 指定了日志文件的名称为 spider.log,日志级别 level=logging.INFO 设置为 INFO,这意味着只有 INFO 级别及以上的日志信息会被记录。参数 format='%(asctime)s - %(levelname)s - %(message)s' 指定了日志的格式,包括时间、日志级别和消息内容。

在爬虫函数 my_spider() 中,我们使用了 logging.info() 来记录一般信息的日志,例如成功爬取了哪个网址。你还可以使用 logging.warning() 记录警告信息,以及 logging.debug() 记录调试信息。

在异常处理部分,我们使用 logging.error() 来捕获并记录异常信息。exc_info=True 参数会记录异常的堆栈信息,方便后续调试。

通过设置日志文件,你可以在程序执行过程中不间断地记录关键信息和异常情况,以便后续分析和改进你的爬虫程序。

在scrapy的setting中可以设置日志

# 创建日志文件夹
log_folder = 'logs'
if not os.path.exists(log_folder):
    os.makedirs(log_folder)

# 设置日志记录
log_file = os.path.join(log_folder, 'app.log')
file_handler = TimedRotatingFileHandler(log_file, when='W0', backupCount=1)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)s] %(message)s'))

logger = logging.getLogger(__name__)
logger.addHandler(file_handler)

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值