Невозможно импортировать мой собственный модуль в сканер Scrapy - PullRequest
0 голосов
/ 20 декабря 2018

Я пишу сканер, используя Scrapy.Я создал сканер, и он работает очень хорошо.

Теперь я хочу создать свои собственные модули, но всегда получаю эту ошибку:

Файл "D: \ Projects \"bitbucket \ terranoha \ crawl1 \ crawl1 \ spiders \ samplecrawler.py ", строка 4, в импорте moduletest

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

Код:

from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
import moduletest

class SamplecrawlerSpider(CrawlSpider):
    # [...]

Я бегу: scrapy crawl --nolog samplecrawler.Я на Windows 10.

Моя структура проекта:

enter image description here

Ответы [ 4 ]

0 голосов
/ 20 декабря 2018

Вы можете сделать несколько вещей:

Первый

from crawl1.spiders.moduletest import mythings

По предложению @ elRuLL

Второй

from .moduletest import mythings

Это, как правило, плохое и хрупкое решение, но возможно.

Третий

Вы можете упаковать его как пакет и сделать.

init .py:

from spiders.moduletest import *
__all__ = [<Put your classes, methods, etc here>]

samplecrawler.py

import moduletest
0 голосов
/ 20 декабря 2018

вы должны включить имя папки в качестве имени модуля

import crawl1.spiders.moduletest
0 голосов
/ 20 декабря 2018

Найдено через несколько часов:

from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
import crawl1.spiders.moduletest

class SamplecrawlerSpider(CrawlSpider):

import crawl1.spiders.moduletest

0 голосов
/ 20 декабря 2018

вам необходимо указать полный путь к модулю:

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