scrapy 斯克拉皮|如何将自定义管线添加到custom_settings?

pftdvrlh  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(143)

我在使用Scraper加载项目管道时遇到问题。在尝试添加自定义管道时,我遇到以下错误:

builtins.ModuleNotFoundError: No module named 'scraper_app'

我试过从settings.pyITEM_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'

谁能指出我做错了什么?

3yhwsihp

3yhwsihp1#

由于您运行的是独立脚本,因此它不了解管道的路径。您可以将管道导入脚本,也可以在同一脚本中定义管道,然后按如下所示定义自定义设置,其中LeasePipeline是管道类:

custom_settings = {
        "LOG_FILE": "cel_lease.log",
        "ITEM_PIPELINES": {LeasePipeline: 300},
}

相关问题