这里通过实时爬取丁香园的数据来作为数据来源
爬虫项目开始日期:2021.10.30
项目地址:Github(待整理分享)
前言:这里先整理整理爬虫需要或可能要用到的函数/方法,如果后期我没有时间去维护该项目,大家能够通过这些文档迅速读懂我的代码

Python中logging模块详解

1.logging
这个模块为应用与库定义了实现灵活的事件日志系统的函数与类。日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述。
例如:(每个事件发生时的数据都是不同的)开发者还会区分事件的重要性,重要性也被称为 等级/严重性
2.日志级别

 级别                使用条件
DEBUG          细节信息,仅当诊断时间使用
INFO           确认程序按预期运行
WARNING        表明有已经活即将发生的意外(例如:磁盘空间不足) 程序任按预期进行
ERROR          由于严重的问题,程序的某些功能已经不能正常执行
CRITICAL       严重的错误,程序已经不能继续执行

3.一个实例

import logging
logging.warning("程序异常!")
logging.info("正常运行")

运行结果
只显示WARNING信息,而不显示INFO信息。
4.追踪事件的处理方式
(1)输出到控制台
(2)写入磁盘文件

import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('这条信息已经被写入日志')
logging.info('程序正常')
logging.warning('程序运行异常!')

运行结果
此例,将log信息写入磁盘文件,不显示。通过level参数设置logging级别
对 basicConfig() 的调用应该在 debug() ,info() 等的前面。因为它被设计为一次性的配置,只有第一次调用会进行操作,随后的调用不会产生有效操作。
5.消息显示格式
1.记录变量数据

import logging
logging.warning('%s before you %s', 'Look', 'leap!')

使用字符串格式化

2.更改显示格式,去除ROOT

import logging
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
logging.debug('这条信息应该被显示在控制台')
logging.info('程序正常')
logging.warning('程序异常')

运行结果
3.消息中显示日期时间

import logging
logging.basicConfig(format='%(asctime)s %(message)s')
logging.warning('这个事件被记录')
#'%(asctime)s' 表示显示时间

运行结果

import logging
logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
logging.warning('该事件被记录了')

运行结果

最后修改:2021 年 10 月 31 日 12 : 27 AM
如果觉得这篇文章不错,不妨赏我碎银几两。