W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
因為scrapy使用stdlib日志記錄模塊,所以可以使用stdlib日志記錄的所有功能自定義日志記錄。
例如,假設(shè)您正在抓取一個返回許多HTTP 404和500響應(yīng)的網(wǎng)站,并且您希望隱藏像這樣的所有消息:
2016-12-16 22:00:06 [scrapy.spidermiddlewares.httperror] INFO: Ignoring
response <500 http://quotes.toscrape.com/page/1-34/>: HTTP status code
is not handled or not allowed
首先要注意的是一個記錄器名稱-它在括號中: ?[scrapy.spidermiddlewares.httperror]
? . 如果你得到公正 ?[scrapy]
? 然后 ?LOG_SHORT_NAMES
? 可能設(shè)置為true;設(shè)置為false并重新運(yùn)行爬網(wǎng)。
接下來,我們可以看到消息具有信息級別。為了隱藏它,我們應(yīng)該為 ?scrapy.spidermiddlewares.httperror
? 高于信息;信息后的下一級是警告??梢赃@樣做,例如在蜘蛛的 ?__init__
? 方法:
import logging
import scrapy
class MySpider(scrapy.Spider):
# ...
def __init__(self, *args, **kwargs):
logger = logging.getLogger('scrapy.spidermiddlewares.httperror')
logger.setLevel(logging.WARNING)
super().__init__(*args, **kwargs)
如果您再次運(yùn)行此蜘蛛,則從 ?scrapy.spidermiddlewares.httperror
? 日志記錄器將消失。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: