(self, url: str, opts: argparse.Namespace)
| 243 | return None |
| 244 | |
| 245 | def set_spidercls(self, url: str, opts: argparse.Namespace) -> None: |
| 246 | assert self.crawler_process |
| 247 | spider_loader = self.crawler_process.spider_loader |
| 248 | if opts.spider: |
| 249 | try: |
| 250 | self.spidercls = spider_loader.load(opts.spider) |
| 251 | except KeyError: |
| 252 | logger.error( |
| 253 | "Unable to find spider: %(spider)s", {"spider": opts.spider} |
| 254 | ) |
| 255 | else: |
| 256 | self.spidercls = spidercls_for_request(spider_loader, Request(url)) |
| 257 | if not self.spidercls: |
| 258 | logger.error("Unable to find spider for: %(url)s", {"url": url}) |
| 259 | |
| 260 | async def start(spider: Spider) -> AsyncIterator[Any]: |
| 261 | yield self.prepare_request(spider, Request(url), opts) |
| 262 | |
| 263 | if self.spidercls: |
| 264 | self.spidercls.start = start # type: ignore[assignment,method-assign] |
| 265 | |
| 266 | def start_parsing(self, url: str, opts: argparse.Namespace) -> None: |
| 267 | assert self.crawler_process |
no test coverage detected