我在Spyder / Anaconda环境中正在抓狂。我有一个项目,即时通讯试图与items.py一起使用,无论我做什么,我都无法识别它,不断收到“ ModuleNotFoundError”
这是我的dsg_spider.py和items.py文件中的内容。 只要我不尝试使用Spider中的items.py文件,它就会按预期运行并运行。.我只是想获取结构化格式的数据,并希望在我继续之前进行设置。
from parsimonious import Grammar
grammar = Grammar(r"""
start = term
term = ('(' _* term1 _* ')') / term1
term1 = app / atom1
atom = ('(' _* atom1 _* ')') / atom1
atom1 = abs / id
abs = 'λ' _* id _* '.' _* term
app = atom _+ term
id = ~"[A-Za-z]+"
_ = ~"[^\S\n\r]"u
""")
print(grammar.parse("x y z w"))
文件“ F:/Anaconda/DSG2/DSG2/spiders/dsg_spider.py”,第4行,在 从DSG2.items导入Dsg2Item
ModuleNotFoundError:没有名为“ DSG2”的模块
这是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()
我拥有所有文件的文件夹结构
import scrapy
class Dsg2Item(scrapy.Item):
description = scrapy.Field()
sku = scrapy.Field()
price = scrapy.Field()
#brand = brand
#description = name
答案 0 :(得分:1)
在我看来,解决方案是在Spyder中,转到项目---新建项目---选择现有目录,然后导航到项目文件夹并选择创建,创建一个项目,当我运行它时,它不再抱怨..
答案 1 :(得分:0)
我认为您忘记了将软件包添加到pythonpath中。
import sys
sys.path.insert(0, "/path/to/your/package_or_module")