W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
在Spider中,可以通過 ?self.settings
? :
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
print(f"Existing settings: {self.settings.attributes.keys()}")
注解
這個 ?settings
? 屬性在Spider初始化后在基本Spider類中設置。如果要在初始化之前使用這些設置(例如,在Spider的 ?__init__()
? 方法),您需要重寫 ?from_crawler()
? 方法。
可以通過訪問 ?scrapy.crawler.Crawler.settings
? 傳遞給的爬網程序的屬性 ?from_crawler
? 擴展、中間商和項目管道中的方法:
class MyExtension:
def __init__(self, log_is_enabled=False):
if log_is_enabled:
print("log is enabled!")
@classmethod
def from_crawler(cls, crawler):
settings = crawler.settings
return cls(settings.getbool('LOG_ENABLED'))
設置對象可以像dict一樣使用(例如, ?settings['LOG_ENABLED']
? ,但通常最好使用 ?Settings
? 應用程序編程接口。
以下是所有可用的零碎設置的列表,按字母順序排列,以及它們的默認值和應用范圍。
如果設置綁定到任何特定組件,那么范圍(如果可用)將顯示使用該設置的位置。在這種情況下,將顯示該組件的模塊,通常是擴展、中間件或管道。它還意味著必須啟用組件才能使設置生效。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: