Могу ли я унаследовать от собственного паука в Scrapy? - PullRequest
0 голосов
/ 08 февраля 2020

Я создавал новый проект в Scrapy, и у меня есть Spider, похожий на него:

Файл: spiders / customspider.py :

import scrapy

class CustomSpider(scrapy.Spider)
    name = 'CustomSpider'

    def start_requests(self):
        pass
        # exec code

Тогда я создал новый паук, как это:

Файл: spiders / otherspider.py

import scrapy
from customspider import CustomSpider

class OtherSpider(CustomSpider)
    name = 'OtherSpier'

    def start_requests(self):
        super().start_requests()

Но я получаю эту ошибку:

ModuleNotFoundError: Нет модуля с именем 'CustomSpider'

Не могу найти никакой помощи по этому вопросу в документации, кто-нибудь может мне помочь?

Спасибо!

1 Ответ

1 голос
/ 09 февраля 2020

Я не знаком со Scrapy, но, похоже, ваш вопрос на самом деле не о Scrapy, а об импорте модулей в целом.

Помимо некоторых синтаксических ошибок в вашем коде, проблема заключается в следующем утверждении:

from customspider import CustomSpider

Измените его на:

from .customspider import CustomSpider

или

from spiders.customspider import CustomSpider

Предполагается, что spiders является модулем, а рабочий каталог вашего Python application на один каталог выше.

В качестве альтернативы, если каталог spiders находится в вашем пути Python, он также должен работать с кодом, который вы первоначально разместили (если исправлены другие синтаксические ошибки). Однако я не рекомендую это как решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...