Python网络爬虫进阶扩展(完)

2020-02-13 15:05:26 浏览数 (1)

Python网络爬虫进阶扩展

13 /10

周日 晴

1. 如何使scrapy爬取信息不打印在命令窗口中

  • 通常,我们使用这条命令运行自己的scrapy爬虫:
代码语言:javascript复制
scrapy crawl spider_name
  • 但是,由这条命令启动的爬虫,会将所有爬虫运行中的debug信息及抓取到的信息打印在运行窗口中。
  • 很乱,也不方便查询。所以,可使用该命令代替:
代码语言:javascript复制
scrpay crawl spider_name  -s LOG_FILE=all.log

2. Scrapy中的日志处理

  • Scrapy提供了log功能,可以通过 logging 模块使用
  • 可以修改配置文件settings.py,任意位置添加下面两行
代码语言:javascript复制
LOG_FILE = "mySpider.log"
LOG_LEVEL = "INFO"
  • Scrapy提供5层logging级别:
代码语言:javascript复制
CRITICAL - 严重错误(critical)
ERROR - 一般错误(regular errors)
WARNING - 警告信息(warning messages)
INFO - 一般信息(informational messages)
DEBUG - 调试信息(debugging messages)
  • logging设置
  • 通过在setting.py中进行以下设置可以被用来配置logging:
代码语言:javascript复制
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级别来记录信息
代码语言:javascript复制
from scrapy import log
log.msg("This is a warning", level=log.WARNING)

END

岁月有你 惜惜相处

0 人点赞