Scrapy 提供了 log 功能,可以通过 logging 模块使⽤。
可以修改配置⽂件 settings.py,任意位置添加下⾯两⾏,效果会清爽很
多。
LOG_FILE = "TencentSpider.log"
LOG_LEVEL = "INFO"
Log levels
Scrapy 提供 5 层 logging 级别:
CRITICAL - 严重错误(critical)
ERROR - ⼀般错误(regular errors)
WARNING - 警告信息(warning messages)
INFO - ⼀般信息(informational messages)
DEBUG - 调试信息(debugging messages)
logging 设置
通过在 setting.py 中进⾏以下设置可以被⽤来配置 logging:
CrawlSpiders
225
1. LOG_ENABLED 默认: True,启⽤logging
2. LOG_ENCODING 默认: 'utf-8',logging 使⽤的编码
3. LOG_FILE 默认: None,在当前⽬录⾥创建 logging 输出⽂件的⽂件名
4. LOG_LEVEL 默认: 'DEBUG',log 的最低级别
5. LOG_STDOUT 默认: False 如果为 True ,进程所有的标准输出 ( 及错误 )
将 会被重定向到 log 中。例如,执⾏ print "hello" ,其将会在 Scrapy
log 中显 示。
Spider 参数
Spider 可以通过接受参数来修改其功能。 spider 参数⼀般⽤来定义初始 URL
或者指定限制爬取⽹站的部分。 您也可以
使⽤其来配置 spider 的任何功能。
在运⾏ crawl 时添加 -a 可以传递 Spider 参数:
scrapy crawl myspider -a category=electronics
Spider 在构造器(constructor)中获取参数:
import scrapy class MySpider(Spider): name = 'myspider' def init (self, category=None, *args, **kwargs): super(MySpider, self). init (*args, **kwargs) self.start_urls = ['http://www.example.com/categories/%s' %category]