首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在刮伤爬虫中导入我自己的模块

无法在刮伤爬虫中导入我自己的模块
EN

Stack Overflow用户
提问于 2018-12-20 14:55:01
回答 4查看 1.6K关注 0票数 3

我在用Scrapy写爬虫。我已经造了一个爬虫,它工作得很好。

现在我想创建自己的模块,但我总是收到以下错误:

文件"D:\Projects\bitbucket\terranoha\crawl1\crawl1\spiders\samplecrawler.py",第4行,在导入模块中 ModuleNotFoundError:没有名为“模块测试”的模块

守则是:

代码语言:javascript
复制
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
import moduletest

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

我在跑步:scrapy crawl --nolog samplecrawler。我在Windows 10上。

我的项目结构是:

EN

回答 4

Stack Overflow用户

发布于 2018-12-20 15:05:16

你可以做几件事:

First

代码语言:javascript
复制
from crawl1.spiders.moduletest import mythings

如@elRuLL所示

第二

代码语言:javascript
复制
from .moduletest import mythings

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

第三代

你可以把它打包成包,然后做。

init__.py:

代码语言:javascript
复制
from spiders.moduletest import *
__all__ = [<Put your classes, methods, etc here>]

samplecrawler.py

代码语言:javascript
复制
import moduletest
票数 5
EN

Stack Overflow用户

发布于 2018-12-20 14:59:14

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

代码语言:javascript
复制
from crawl1.spiders.moduletest import mythings
票数 1
EN

Stack Overflow用户

发布于 2018-12-20 15:02:46

您必须将文件夹的名称包含为模块名。

代码语言:javascript
复制
import crawl1.spiders.moduletest
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53871052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档