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]