基于上节说到,爬虫经常会用到的两个包,一个是抓取包SpiderTool,二是日志包loggingtool,今天主要分享Python经常会用到的日志包loggingtool。
说明:
loggingtool包是基于logging模块的dictConfig进行的封装,目前主要封装有3类:控制台输出console,文件大小输出filebytes,文件时间输出filetime。使用者可以根据需要选择,例如测试阶段可以用console模式输出,测试完毕后,正式上线则可以选择文件大小周期循环输出,这样避免了日志文件越积越多,占磁盘空间。
console:
from loggingtool import loggingtool
logger = loggingtool.init_log("test", "console", level="DEBUG")
logger.warn("this is a warn")
结果:
2018-11-25 12:01:28,828 - test - WARNING -* 1520| this is a warn
文件大小:
logging = init_log("test", "filebytes", level="DEBUG", maxBytes=1, backupCount=5,
filename="./log/test_file.log")
logging.warn("dasdas")
logging.error("dadasda")
logging.warn("dasdas")
logging.warn("dasdas")
logging.error("dadasda")
输出的文件结构:
文件时间:
logging = init_log("test", "filetime", level="DEBUG", when="s", backupCount=5,
filename="./log/test_file.log")
logging.warn("dasdas")
logging.error("dadasda")
logging.warn("dasdas")
logging.warn("dasdas")
文件输出结构:
这个日志周期循环不仅适用于爬虫,对于需要长时间运行的程序都可以使用,防止物理机因为磁盘而down掉。
后续这个日志包会扩展为http日志传输等内容。
前两节主要介绍了两个包,便于使用,后续会先后介绍爬虫相关技术(登陆,参数破解,字体解密,cookie,抓包工具的使用,抓取系统,解析系统,监控系统,kafka消息队列)等。欢迎吐槽!!+qq:1050518702