scrapy 日志处理
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 那么运行程序会创建一个新文件,然后把所有的日志都保存到里面。
如果已经存在,会在原文后面追加新的日志内容。
scrapy 日志处理的更多相关文章
- Windows10 下安装scrapy 日志
Windows10 下安装scrapy 日志 1.下载python3.6 2.添加python.exe和pip.exe的路径到系统环境变量path中 如c:\python36_64 C:\Python ...
- python爬虫-scrapy日志
1.scrapy日志介绍 Scrapy的日志系统是实现了对python内置的日志的封装 scrapy也使用python日志级别分类 logging.CRITICAL logging.ERROE log ...
- Scrapy日志等级以及请求传参
日志等级 请求传参 提高scrapy的爬取效率 日志等级 - 日志信息: 使用命令:scrapy crawl 爬虫文件 运行程序时,在终端输出的就是日志信息: - 日志信息的种类: - ERROR ...
- scrapy 日志一般配置
- scrapy框架post请求发送,五大核心组件,日志等级,请求传参
一.post请求发送 - 问题:爬虫文件的代码中,我们从来没有手动的对start_urls列表中存储的起始url进行过请求的发送,但是起始url的确是进行了请求的发送,那这是如何实现的呢? - 解答: ...
- Scrapy 教程(九)-日志系统
最新版本的 scrapy 已经废弃了 scrapy.log 的使用,赞成显示调用python标准日志记录. Python 内建日志系统 import logging ### python 内建 log ...
- scrapy笔记集合
细读http://scrapy-chs.readthedocs.io/zh_CN/latest/index.html 目录 Scrapy介绍 安装 基本命令 项目结构以及爬虫应用介绍 简单使用示例 选 ...
- 常用的scrapy setting
原文请参考 Scrapy 爬虫入门教程十三 Settings(设置), 讲的很详细 官网参考 Settings 设置 Scrapy 设置允许您自定义所有 Scrapy 组件的行为,包括核心,扩 ...
- scrapy的简单使用以及相关设置属性的介绍
0. 楔子(一个最简单的案例) 1.scrapy.Spider scrapy.spiders.Spider name allowed_domains start_urls custom_setting ...
随机推荐
- tf实现LSTM时rnn.DropoutWrapper
转自:https://blog.csdn.net/abclhq2005/article/details/78683656 作者:abclhq2005 1.概念介绍 所谓dropout,就是指网络中每个 ...
- NgDL:第四周深层神经网络
4.3核对矩阵维数 根据前向的矩阵,可以计算出右上的规律,对于第L层的w来说,其维数为(n[L],n[L-1]),n[L]表示第L层的单元数. 4.4为什么深层神经网络会好用? 如果要做一个人脸识别的 ...
- 【Java】-NO.16.EBook.4.Java.1.004-【疯狂Java讲义第3版 李刚】- 内部类
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.004-[疯狂Java讲义第3版 李刚]- 内部类 Style:EBook Series:Java S ...
- smali参数引用说明
比如非静态函数test(IJZ)V; p0表示this p1 I p2 J 以此类推
- 读书笔记_Effective_C++_条款二:尽量以const, enum, inline替换#define
其实这个条款分成两部分介绍会比较好,第一部分是用const和enum替换不带参的宏,第二部分是用inline替换带参的宏. 第一部分:用const和enum替换不带参宏 宏定义#define发生在预编 ...
- LeetCode167.两数之和II-输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值 ...
- aop编程之后置通知,环绕通知和异常通知
---恢复内容开始--- 此将实例将在上一讲前置通知的基础上进行配置,前置配置内容:http://www.cnblogs.com/lihuibin/p/7955947.html 具体流程如下: 1. ...
- 从PHP官方镜像创建开发镜像
https://xlange.com/post/dockerfile-baseon-official-php-image.html
- Ecust DIV3 k进制 【暴力不断优化】
K进制 Description 给定一个正整数n,请你判断在哪些进制下n的表示恰好有2位是1,其余位都是0. Input 输入第一行为整数TT,表示有TT组数据(1 \le T \le 50)(1≤T ...
- json为txt文本加密
我们知道json是一种数据传输的加密格式 这里为txt格式的文本加密(纯属无聊) 写的比较凌乱,查找你输入的两个文件夹下面的所有txt文件(包含下一级文件): 运行时要注意,别把重要文件给加密了 ...