无法在 Django 中运行 Scrapy 项目



这是我的文件夹布局:

  • my_django_project
    • 项目
      • 项目
        • __init__.py
        • settings.py
        • urls.py
        • wsgi.py
        • 管理
          • __init__.py
          • 命令
            • __init__.py
            • scrapy.py
        • 迁移
        • __init__.py
        • admin.py
        • models.py
        • tests.py
        • views.py
      • scrapy_project
        • scrapy_project
          • 蜘蛛
            • __init__.py
            • my_scraper.py
          • __init__.py
          • items.py
          • pipelines.py
          • settings.py

我一直在做的是遵循本教程:在 Scrapy 中访问 django 模型

我关注了一切,但我仍然无能为力。每次我运行python manage.py scrapy crawl my_scraper它都会给我相同的错误:

导入错误:没有名为 scrapy_project.settings 的模块

现在我确实导入了 Django settings.py中的设置:

import os
os.environ['SCRAPY_SETTINGS_MODULE'] = 'scrapy_project.settings'

我尝试了不同的方法。现在我已经能够将scrapy与Django模型连接起来,但我希望能够从Django运行scrapy项目。

这是我在commands文件夹中的scrapy.py

from __future__ import absolute_import
from django.core.management.base import BaseCommand
class Command(BaseCommand):
    def run_from_argv(self, argv):
        self._argv = argv
        self.execute()
    def handle(self, *args, **options):
        from scrapy.cmdline import execute
        execute(self._argv[1:])

我了解,您需要将内部scrapy_project包向上移动一级。

最新更新