0

我想测试我的爬虫蜘蛛。我想将蜘蛛导入测试文件并制作一个测试蜘蛛并覆盖 start_urls,但我在导入它时遇到了问题。这是一个项目结构

...product-scraper\test_spider.py
...product-scraper\oxygen\oxygen\spiders\oxygen_spider.py
...product-scraper\oxygen\oxygen\items.py

问题是蜘蛛从 items.py 导入产品类

from oxygen.items import Product
ImportError: No module named items

cmdscrapy crawl oxygen_spider有效

我尝试以所有可能的方式更改 sys.path 或 site.addsitedir

basedir = os.path.abspath(os.path.dirname(__file__))
module_path = os.path.join(basedir, "oxygen\\oxygen") 
sys.path.append(basedir)  # module_path

没有成功:(

我在 Windows 上使用 python 2.7

4

1 回答 1

0

你真的得到错误“没有模块命名的项目”吗?还是类似于“没有名为oxygen.items 的模块”?另外,我不确定您为什么要使用 os.path 命令。这不就行了吗:

from items import Product

所以没有“氧气”。然而,据我所知,只有当 Product 是您的 items.py 中的一个类时才有效。如果它不是一个类,我建议只使用:

import items

如果这不起作用,请在您的 items.py 中指定什么产品

于 2013-07-14T21:26:39.537 回答