9. Scrapy扩展
优质
小牛编辑
150浏览
2023-12-01
1. 如何使scrapy爬取信息不打印在命令窗口中
- 通常,我们使用这条命令运行自己的scrapy爬虫:
scrapy crawl spider_name
- 但是,由这条命令启动的爬虫,会将所有爬虫运行中的debug信息及抓取到的信息打印在运行窗口中。
- 很乱,也不方便查询。所以,可使用该命令代替:
scrpay crawl spider_name -s LOG_FILE=all.log
2. Scrapy中的日志处理
- Scrapy提供了log功能,可以通过 logging 模块使用
- 可以修改配置文件settings.py,任意位置添加下面两行
LOG_FILE = "mySpider.log"
LOG_LEVEL = "INFO"
- Scrapy提供5层logging级别:
CRITICAL - 严重错误(critical)
ERROR - 一般错误(regular errors)
WARNING - 警告信息(warning messages)
INFO - 一般信息(informational messages)
DEBUG - 调试信息(debugging messages)
logging设置
通过在setting.py中进行以下设置可以被用来配置logging:
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中显示
- 记录信息
- 下面给出如何使用WARING级别来记录信息
from scrapy import log
log.msg("This is a warning", level=log.WARNING)