Spider-scrapy日志处理
2024-09-08 03:54:24
Scrapy生成的调试信息非常有用,但是通常太啰嗦,你可以在Scrapy项目中的setting.py中设置日志显示等级:
LOG_LEVEL = 'ERROR'
日志级别
Scrapy日志有五种等级,按照范围递增顺序排列如下:(注意《Python网络数据采集》书中这里有错)
- CRITICAL - 严重错误
- ERROR - 一般错误
- WARNING - 警告信息
- INFO - 一般信息
- DEBUG - 调试信息
如果日志层级设置为ERROR,那么只有CRITICAL和ERROR日志会显示出来。
如果日志层级设置为DEBUG,那么所有信息都会显示出来,其它同理。
设置log级别
可以通过终端选项 -loglevel/-L 或 LOG_LEVEL 来设置log级别。
记录信息
下面给出如何使用WARING级别来记录信息
- from scrapy import log
- log.msg("This is a warning", level=log.WARING)
在Spider中添加log
在spider中添加log的推荐方式是使用Spider的 log() 方法。该方法会自动在调用 scrapy.log.start() 时赋值 spider 参数。
其它的参数则直接传递给 msg() 方法
scrapy.log模块
scrapy.log.start(logfile=None, loglevel=None, logstdout=None)
启动log功能。该方法必须在记录任何信息之前被调用。否则调用前的信息将会丢失。
参数:
- logfile(str) - 用于保存log输出的文件路径。如果被忽略,LOG_FILE设置会被启用。如果两个参数都是None(默认值),log会被输出到标准错误流(stderr),一般都直接打印在终端命令行中。
- loglevel - 记录的最低日志级别,可用的值在上面提到了
- logstdout(boolean) - 如果设置为True,所有的应用的标准输出(包括标准错误)都将记录,例如,如果程序段中有 "print hello",那么执行到这里时,"hello"也会被记录到日志中。
scrapy.log.msg(message,level=INFO,spider=None)
记录信息
参数:
- message(str) - log信息
- level - 该信息对应的级别
- spider(spider 对象) - 记录信息的spider。当记录的信息和特定的spider有关联时,该参数必须使用
默认情况下日志显示在终端,但也可以通过下面的命令输出到一个独立的文件中:
$scrapy crawl spiderName -s LOG_FILE=spider.log (注意这里等号两边没有空格)
或者上面提到的 start() 中参数指定输出文件位置。
如果目录中没有spider.log 那么运行程序会创建一个新文件,然后把所有的日志都保存到里面。
如果已经存在,会在原文后面追加新的日志内容。
最新文章
- 前端自动化工具gulp自动添加版本号
- chrome浏览器定位页面元素对应代码查找资源
- Git:错误:error:src refspec master does not match any
- input输入子系统
- php mysqli扩展之预处理
- 【英语】Bingo口语笔记(63) - 一个单词的多种发音
- 【面试题】Https
- C#基础精华03(常用类库StringBuilder,List<;T>;泛型集合,Dictionary<;K , V>; 键值对集合,装箱拆箱)
- WordPress标题函数wp_title()详解
- (转)Android中截取当前屏幕图片
- java面板设计
- NYoj-Binary String Matching-KMP算法
- PHP获取随机数
- 快速搭建Japser Report
- AIDL使用以及原理分析
- 熟悉常用的HDFS操作
- .NET下对Web.config与App.Config的增删改操作的代码
- 用JS实现实时显示系统时间
- JS刷新当前页面的几种方法总结
- 2_Linux操作系统和基础命令行
热门文章
- head first python /chapter7 web(python 3 转 python 2.7)
- [CF Round #278] Tourists
- 2016/10/29 Action类中execute方法的使用
- java IO流 复制图片
- UWP Windows10开发获取设备位置(经纬度)
- 外文翻译 《How we decide》赛场上的四分卫 第二节
- mysql之通过cmd连接远程数据库
- 冒泡排序算法和简单选择排序算法的js实现
- 12. binary search Trees
- How do I get started with Node.js