在Scrapy组件的特性可以用Scrapy设置进行修改。 这些设置也可以选择Scrapy项目当前处于活动状态的情况下,如果你有多个Scrapy项目。
您必须通知哪些当你放弃一个网站,你正在使用设置Scrapy。 为此,重点内容环境变量SCRAPY_SETTINGS_MODULE应使用其值应在Python路径语法。
下表显示了一些通过它可以填充设置的机制:
他们都可以通过self.settings并初始化后在基地蜘蛛设置。 下面的例子说明了这一点:
class DemoSpider(scrapy.Spider) : name = 'demo' start_urls = ['http://example.com'] def parse(self, response) : print("Existing settings: %s" % self.settings.attributes.keys() )要在初始化之前蜘蛛使用的设置,您必须覆盖from_crawler的方法init()你的蜘蛛的方法。 您可以通过属性访问设置scrapy.crawler.Crawler.settings传递给from_crawler方法。
下面的例子说明了这一点:
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') )设置名称作为前缀添加到他们配置组件。 例如,对于扩展的robots.txt,设置名称可以ROBOTSTXT_ENABLED,ROBOTSTXT_OBEY,ROBOTSTXT_CACHEDIR等
下表给出了Scrapy的内置设置:
新闻热点
疑难解答