我在使用Scraper加载项目管道时遇到问题。在尝试添加自定义管道时,我遇到以下错误:
builtins.ModuleNotFoundError: No module named 'scraper_app'
我试过从settings.py
ITEM_PIPELINES = ["scraper_app.pipelines.LeasePipeline"]
运行它的工作,但当我尝试通过custom_settings变量运行它时,出现上述错误。
下面是我的应用程序的目录结构:
.
├── scraper_app
│ ├── __init__.py
│ ├── models.py
│ ├── pipelines.py
│ ├── settings.py
│ └── spiders
│ ├── __init__.py
│ ├── leased.py
│ ├── lease.py
│ ├── sale.py
│ └── sold.py
└── scrapy.cfg
我需要在spider文件夹中为不同的spider运行多个管道。在lease.py
文件中,我设置了:
custom_settings = {
"LOG_FILE": "cel_lease.log",
"ITEM_PIPELINES": {"scraper_app.pipelines.LeasePipeline": 300},
}
我将其作为独立脚本运行
python lease.py
刮刀故障,并出现以下错误:
builtins.ModuleNotFoundError: No module named 'scraper_app'
谁能指出我做错了什么?
1条答案
按热度按时间3yhwsihp1#
由于您运行的是独立脚本,因此它不了解管道的路径。您可以将管道导入脚本,也可以在同一脚本中定义管道,然后按如下所示定义自定义设置,其中
LeasePipeline
是管道类: