繁体   English   中英

无法在scrapy搜寻器中导入我自己的模块

[英]Cannot import my own module in scrapy crawler

我正在使用Scrapy编写爬虫。 我已经建立了一个履带,并且运行良好。

现在,我想创建自己的模块,但始终会收到此错误:

导入模块测试中的文件“ D:\\ Projects \\ bitbucket \\ terranoha \\ crawl1 \\ crawl1 \\ spiders \\ samplecrawler.py”,第4行

ModuleNotFoundError:没有名为“ moduletest”的模块

代码是:

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

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

我正在运行: scrapy crawl --nolog samplecrawler 我在Windows 10上。

我的项目结构是:

在此处输入图片说明

您可以做几件事:

第一

from crawl1.spiders.moduletest import mythings

如@elRuLL所建议

第二

from .moduletest import mythings

这通常是一个坏而脆弱的解决方案,但是可能的。

第三

您可以将其打包并打包。

初始化 .py:

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

samplecrawler.py

import moduletest

您需要包括完整的模块路径:

from crawl1.spiders.moduletest import mythings

您必须包含文件夹名称作为模块名称

import crawl1.spiders.moduletest

几个小时后发现:

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

class SamplecrawlerSpider(CrawlSpider):

导入crawl1.spiders.moduletest

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM