【发布时间】:2019-04-18 14:24:35
【问题描述】:
我在 Spyder/Anaconda 环境中使用 scrapy。我有一个项目正在尝试使用 items.py,无论我做什么,我都无法识别它,不断收到“ModuleNotFoundError”
这是我的 dsg_spider.py 和 items.py 文件中的内容。 只要我不尝试在蜘蛛中使用 items.py 文件,它就会按预期运行和工作。我只是想以结构化格式获取数据,并希望在继续之前对其进行设置。
import scrapy
import sys
import os
from DSG2.items import Dsg2Item
doc = Dsg2Item()
doc['sku'] = response.xpath("//span[@itemprop='sku']/text()").extract()
doc['price'] = response.xpath("//span[@itemprop='price']/text()").extract()
doc['description'] = response.xpath("//meta[@itemprop='name']/@content").extract()
文件“F:/Anaconda/DSG2/DSG2/spiders/dsg_spider.py”,第 4 行,在 从 DSG2.items 导入 Dsg2Item
ModuleNotFoundError: 没有名为“DSG2”的模块
这是 items.py 中的代码
import scrapy
class Dsg2Item(scrapy.Item):
description = scrapy.Field()
sku = scrapy.Field()
price = scrapy.Field()
#brand = brand
#description = name
我拥有所有文件的文件夹结构
Anaconda (folder)
DSG2 (folder)
|---DSG2 (folder)
|---_pycache_ (folder)
|---spiders (folder)
|---_pycache_ (folder)
|---_init_.py (file)
|---dsg_spider.py (file)
|---_init_.py (file)
|---items.py (file)
|---middlewares.py (file)
|---pipelines.py (file)
|---settings.py (file)
|---scrapy.cfg (file)
【问题讨论】:
-
您的文件夹结构看起来很奇怪,您确定缩进正确吗?
-
我不确定如何让它看起来正确,我是根据我的文件夹结构手动输入的,所以我确定它的格式不正确
-
我现在尝试更新它,所以它读起来更好一点
-
您似乎缺少一些
__init__.py文件,以使该结构可以用于模块导入。这里有类似问题的一些高质量答案:*.com/questions/7732685/python-local-modules -
查看该链接上的示例和我的文件夹结构,我确实在文件夹中有 init.py 文件。 DSG2 文件夹中有一个,Spiders 文件夹中有一个,两个文件都没有。
标签: python scrapy anaconda spyder