在Scrapy組件的特性可以用Scrapy設(shè)置進(jìn)行修改。 這些設(shè)置也可以選擇Scrapy項(xiàng)目當(dāng)前處于活動(dòng)狀態(tài)的情況下,如果你有多個(gè)Scrapy項(xiàng)目。
您必須通知哪些當(dāng)你放棄一個(gè)網(wǎng)站,你正在使用設(shè)置Scrapy。 為此,重點(diǎn)內(nèi)容環(huán)境變量SCRAPY_SETTINGS_MODULE應(yīng)使用其值應(yīng)在Python路徑語(yǔ)法。
下表顯示了一些通過(guò)它可以填充設(shè)置的機(jī)制:
他們都可以通過(guò)self.settings并初始化后在基地蜘蛛設(shè)置。 下面的例子說(shuō)明了這一點(diǎn):
class DemoSpider(scrapy.Spider) : name = 'demo' start_urls = ['http://example.com'] def parse(self, response) : print("Existing settings: %s" % self.settings.attributes.keys() )要在初始化之前蜘蛛使用的設(shè)置,您必須覆蓋from_crawler的方法init()你的蜘蛛的方法。 您可以通過(guò)屬性訪問(wèn)設(shè)置scrapy.crawler.Crawler.settings傳遞給from_crawler方法。
下面的例子說(shuō)明了這一點(diǎn):
class MyExtension(object) : def __init__(self, log_is_enabled=False) : if log_is_enabled: print("Enabled log") @classmethod def from_crawler(cls, crawler) : settings = crawler.settings return cls(settings.getbool('LOG_ENABLED') )設(shè)置名稱作為前綴添加到他們配置組件。 例如,對(duì)于擴(kuò)展的robots.txt,設(shè)置名稱可以ROBOTSTXT_ENABLED,ROBOTSTXT_OBEY,ROBOTSTXT_CACHEDIR等
下表給出了Scrapy的內(nèi)置設(shè)置:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注