MCPcopy
hub / github.com/scrapy/scrapy / __init__

Method __init__

scrapy/crawler.py:58–87  ·  view source on GitHub ↗
(
        self,
        spidercls: type[Spider],
        settings: dict[str, Any] | Settings | None = None,
        init_reactor: bool = False,
    )

Source from the content-addressed store, hash-verified

56
57class Crawler:
58 def __init__(
59 self,
60 spidercls: type[Spider],
61 settings: dict[str, Any] | Settings | None = None,
62 init_reactor: bool = False,
63 ):
64 if isinstance(spidercls, Spider):
65 raise ValueError("The spidercls argument must be a class, not an object")
66
67 if isinstance(settings, dict) or settings is None:
68 settings = Settings(settings)
69
70 self.spidercls: type[Spider] = spidercls
71 self.settings: Settings = settings.copy()
72 self.spidercls.update_settings(self.settings)
73 self._update_root_log_handler()
74
75 self.addons: AddonManager = AddonManager(self)
76 self.signals: SignalManager = SignalManager(self)
77
78 self._init_reactor: bool = init_reactor
79 self.crawling: bool = False
80 self._started: bool = False
81
82 self.extensions: ExtensionManager | None = None
83 self.stats: StatsCollector | None = None
84 self.logformatter: LogFormatter | None = None
85 self.request_fingerprinter: RequestFingerprinterProtocol | None = None
86 self.spider: Spider | None = None
87 self.engine: ExecutionEngine | None = None
88
89 def _update_root_log_handler(self) -> None:
90 if get_scrapy_root_handler() is not None:

Callers 5

__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 6

SettingsClass · 0.90
AddonManagerClass · 0.90
SignalManagerClass · 0.90
copyMethod · 0.45
update_settingsMethod · 0.45

Tested by

no test coverage detected