python爬蟲 scrapy日誌

2022-05-12 04:11:10 字數 2939 閱讀 5520

1、scrapy日誌介紹

scrapy的日誌系統是實現了對python內建的日誌的封裝

scrapy也使用python日誌級別分類

logging.critical

logging.erroe

logging.warining

logging.info

logging.debug

2、如何在python中使用日誌呢?

import logging

(1)日誌對應的格式字串

(2)建立乙個logger

logger = logging.getlogger("%s_log" %__name__)

logger.setlevel(logging.info)  # 設定日誌等級

(3)建立乙個handler,用於寫入日誌檔案

fh = logging.filehandler("test.log", mode="a")

fh.setlevel(logging.warning)

(4)定義handler的輸出格式

formatter = logging.formatter("%(asctime)s - %(filename)s [line:%(lineno)d] - %(levelname)s: %(message)s")

fh.setformatter(formatter)

(5)將對應的handler新增在logger物件中

logger.addhandle(fh)

(6)正常使用logger.log、logger.debug、logger.info、logger.warning、logger.error、logger.critical

logger.log(level, msg, *args, **kwargs)

logger.debug(msg, *args, **kwargs)

(7)還有一種簡單地使用日誌的方法,沒有上面那麼繁瑣:

logging.baseconfig()引數資訊如下:

3、如何在scrapy中配置日誌呢?

在scrapy中使用日誌很簡單,只需在settings.py中設定log_file和log_level兩個配置項就可以了

#

一般在使用時只會設定log_file和log_level兩個配置項,其他配置項使用預設值

#指定日誌的輸出檔案

log_file

#是否使用日誌,預設為true

log_enabled

#日誌使用的編碼,預設為utf-8

log_encoding

#日誌級別,如果設定了,那麼高於該級別的就會輸入到指定檔案中

log_level

#設定日誌的輸出格式

log_format

#設定日誌的日期輸出格式

log_dateformat

#設定標準輸出是否重定向到日誌檔案中,預設為false,如果設定為true,那麼print("hello")就會被重定向到日誌檔案中

log_stdout

#如果設定為true,只會輸出根路徑,不會輸出元件,預設為false

log_short_names

一般配置:

import

logging

log_file="

scrapy.log"#

log_level=logging.debug|logging.info|logging.warning|logging.error|logging.critical

log_level="

debug

"

4、如何在scrapy的元件中使用自輸出日誌呢?

我們在控制台下跑爬蟲時出現的一系列輸出都是有scrapy的日誌系統在各元件中自行配置的,我們也可以在我們編寫的元件中,自己輸出一些日誌,用於檢測

控制台中輸出的日誌:

下面是從spider類中抽出來的乙個屬性,在自構造的爬蟲類中self.logger返回乙個物件,而這個物件中有log、debgu、info等方法,所以我們可以在爬蟲元件中使用self.logger.log()、self.logger.debug()等來輸出日誌,而在其它元件中,會將spider作為引數傳進其他元件物件的方法中,所以我們也可以在其它元件中使用spider.logger.log()、spider.logger.debug()等在輸出日誌。

@property

deflogger(self):

logger =logging.getlogger(self.name)

return logging.loggeradapter(logger, )

Python爬蟲 scrapy框架log日誌設定

scrapy提供5層logging級別 1.critical 嚴重錯誤 2.error 一般錯誤 3.warning 警告資訊 4.info 一般資訊 5.debug 除錯資訊通過在setting.py中進行以下設定可以被用來配置logging 以下配置均未預設值 是否啟用日誌 log enable...

Python爬蟲 scrapy框架

開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...

python爬蟲scrapy框架

安裝 pip install scrapy startproject 建立乙個新專案 genspider 根據模板生成乙個新爬蟲 crawl 執行爬蟲 shell 啟動互動式抓取控制台 進入專案目錄 scrapy startproject crawlertest project name cd cr...