尝试从不同文件访问类时,Python 3.6 ModuleNotFoundError

时间:2018-04-22 16:58:58

标签: python django scrapy

在尝试将类导入另一个文件时,我很难理解我做错了什么,Python_3.6是我正在使用的版本。我想提一下;我正在使用Django Framework来制作网络抓取应用程序。

这是第一堂课:

from scrapy import Item, Field

class Article(Item):
   # define the fields for your item here like:
   # name = scrapy.Field()
   title = Field()
   pass

这是第二个类(错误是由于第2行引发的,我知道这个,但我不知道为什么?):

from scrapy import Spider
from OceanCrawler.WebScraping.wiki.wiki.items import Article

class ArticleSpider(Spider):
    name = "article"
    allowed_domains = ["en.wikipedia.org"]
    start_urls = ['https://en.wikipedia.org/wiki/Main_Page']

def parse(self, response):
    item = Article()
    title = response.xpath('//h1/text()')[0].extract()
    print("TITLE: " + title)
    item['title'] = title
    return item

以下是我的应用程序的文件结构:File Struct

运行命令时:

scrapy crawl article

预期的过程是一次成功的网络抓取。但我收到一个错误(ModuleNotFoundError:没有名为' OceanCrawler'的模块),这里是stack trace

我尝试了不同的步骤,例如使用

from . import Article

上面的代码导致Pycharm抛出语法错误。

旁注: 我知道我可以通过将文章类包含在与文章蜘蛛类相同的文件中来修复该问题,但我不希望这样。我希望将物品和蜘蛛分开。

0 个答案:

没有答案