我在后台调试 在后台调试scrapy spider的时候,总是觉得后台命令窗口 打印的东西太多了不便于观察日志,因此需要一个日志文件记录信息,这样以后会 方便查找问题。

分两种方法吧。

1.简单粗暴。直接命令里面配置LOG_FILE

scrapy crawl hupu -s LOG_FILE=scrapy_hupu_log.log

2.使用logging

在setting中加入配置LOG_FILE = "hupuSpider.log"LOG_LEVEL = 'INFO'# LOG_ENABLED 默认: True,启用logging# LOG_ENCODING 默认: 'utf-8',logging使用的编码# LOG_FILE 默认: None,在当前目录里创建logging输出文件的文件名# LOG_LEVEL 默认: 'DEBUG',log的最低级别# LOG_STDOUT 默认: False 如果为 True,进程所有的标准输出(及错误)将会被重定向到log中。例如,执行 print "hello" ,其将会在Scrapy log中显示

使用

import logging
logging.log(logging.INFO, 'log content')

logging模块是Python提供的自己的程序日志记录模块。

在大型软件使用过程中,出现的错误有时候很难进行重现,因此需要通过分析日志来确认错误位置,这也是写程序时要使用日志的最重要的原因。

scrapy使用python内置的logging模块记录日志


日志的级别

1. logging.CRITICAL - for critical errors (highest severity)

2. logging.ERROR - for regular errors

3. logging.WARNING - for warning messages

4. logging.INFO - for informational messages

5. logging.DEBUG - for debugging messages (lowest severity)


基本使用方法

1.简单使用方法

import logging

Logging.warning(“this is a test ”)

执行结果:

2.通用的记录日志的方法,可加入日志的级别

import logging

Logging.log(logging.WARNING,”this is a warning”)

3,通过logger记录日志

import logging

logger=logging.getLogger(_name_)

Logger.warning(“this is a warning”)


在scrapy中使用

Scrapy provides a logger within each Spider instance, that can be accessed and used like this:

import scrapy

class MySpider(scrapy.Spider):

name = 'myspider'

start_urls = ['http://scrapinghub.com']

def parse(self, response):

self.logger.info('Parse function called on %s', response.url)

That logger is created using the Spider’s name, but you can use any custom Python logger you want. For example:

import logging import scrapy

logger = logging.getLogger('mycustomlogger')

class MySpider(scrapy.Spider):

name = 'myspider'

start_urls = ['http://scrapinghub.com']

def parse(self, response):

logger.info('Parse function called on %s', response.url)


在settings.py中配置

These settings can be used to configure the logging:

• LOG_FILE

• LOG_ENABLED

• LOG_ENCODING

• LOG_LEVEL

• LOG_FORMAT

• LOG_DATEFORMAT

• LOG_STDOUT

可参考https://www.cnblogs.com/sufei-duoduo/p/5880988.html,https://doc.scrapy.org/en/0.12/topics/logging.html,https://www.cnblogs.com/similarface/p/5179193.html

转载于:https://www.cnblogs.com/guixiaoming/p/8430907.html

scrapy 中日志的使用相关推荐

  1. Scrapy中Request的回调函数不执行

    一. 举例 def parse(self, response):...yield Request(url=parse.urljoin(response.url, title_herf), meta=m ...

  2. python捕获所有异常状态_如何在scrapy中捕获并处理各种异常

    前言 使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的种子数量 ...

  3. 如何在scrapy中捕获并处理各种异常

    前言     使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的 ...

  4. [Scrapy使用技巧] 如何在scrapy中捕获并处理各种异常

    前言     使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的 ...

  5. python processpoolexector 释放内存_一起看看python 中日志异步发送到远程服务器

    在python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日志发送到远端,或者直接写入数 ...

  6. Scrapy中的splash的安装应用

    Scrapy中的splash的安装应用 因为要去抓取部分经过JavaScript渲染的网页数据,所以使用scrapy中的Request返回的是没有经过渲染的网页代码, 因此我们就要运用Scrapy中的 ...

  7. linux 内核日志等级,Linux系统中日志级别详情

    日志信息分类 1.等级由低到高:debug 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东: info  重要,输出信息:用来反馈系统的当前状态 ...

  8. 三十六、Scrapy 中的复写默认管道和Rule扩展

    @Author:Runsen scrapy中的强大媒体管道(二) 上文用scrapy 爬百度美女图片,补充如何重写默认管道知识点,当年爬取的网站是:http://www.27270.com/.但是这里 ...

  9. 三十五、Scrapy 中的杂知识总结和代理池的编写

    @Author:Runsen 上次 用scrapy爬了腾讯招聘网站,有两个job.json 和detail.json,针对一个item,其实有更简单的处理方法. 今天讲讲scrapy 中的杂知识,做一 ...

  10. 三十三、Scrapy中的强大媒体管道ImagesPipeline

    @Author:Runsen 三十一.Scrapy爬取百度图片 上文用了scrapy爬取了百度的美女图片,今天写写scrapy中的Image Pipeline. scrapy提供了很多中间组件可以让我 ...

最新文章

  1. vm虚拟机和windows共享文件夹
  2. 锻炼能降低13种癌症风险
  3. dwz(jui)刷新当前dialog的方法
  4. python获取字符串首字母_[Python] Python 获取中文的首字母 和 全部拼音首字母
  5. 安装Vue +webpack ,以及出现的问题d的解决
  6. ConceptDraw使用Rapid Draw简化流程图教程指南
  7. 易语言制作计算机按键指令,易语言键代码一览表
  8. 超强OCR文字识别软件 图像文字识别软件工具-独有直接屏幕截图识别功能
  9. android 百度输入法表情,百度输入法安卓8.6版本发布,AI输入法成为最懂你的“斗图神器”...
  10. PHP使用MQ消息队列
  11. 高项 案例分析重点知识 风险采购合同
  12. vivo和小米鸿蒙系统哪个好,vivo和华为还有小米,哪个系统流畅度更好?
  13. [附源码]Python计算机毕业设计SSM基于Yigo平台库房管理系统(程序+LW)
  14. 小程序页面onload(),onready()加载顺序
  15. 你对Web3的迅速发展一无所知,逃离大厂去拥抱Web3
  16. 名帖35 吴叡 隶书《离骚》
  17. Opencv Python 综合练习1---读取银行卡卡号
  18. Oracle数据库逻辑备份与恢复(3)——数据泵(expdp、impdp)
  19. 设计和QQ一样动态登录界面
  20. 40本编程开发电子书免费送

热门文章

  1. 【Android】Error obtaining UI hierarchyError while obtaining UI hierarchy XML file: com.android...
  2. [AISTATS21]Towards Flexible Device Participation in Federated Learning阅读笔记
  3. ajax上传图片文件
  4. 电视直播Android9,电视直播高清Android 1.9免费版(移动电视直播工具)
  5. android 各版本介绍,Android的版本的介绍
  6. 0基础学c语言txt下载,0基础学C语言.doc
  7. 存储服务器和磁盘阵列有什么区别
  8. xbox360 IX1.60 引导盘制作
  9. mysql grant什么意思_MySQL grant 语法的详细解析
  10. Oracle日期转换成格林威治时间