无法在Django中运行Scrapy项目

时间:2015-01-23 00:27:01

标签: python django scrapy

这是我的文件夹布局:

  • my_django_project
    • 项目
      • 项目
        • __初始化__。PY
        • settings.py
        • urls.py
        • wsgi.py
        • 管理
          • __初始化__。PY
          • 命令
            • __初始化__。PY
            • scrapy.py
        • 迁移
        • __初始化__。PY
        • admin.py
        • models.py
        • tests.py
        • views.py
      • scrapy_project
        • scrapy_project
          • 蜘蛛
            • __初始化__。PY
            • my_scraper.py
          • __初始化__。PY
          • items.py
          • pipelines.py
          • settings.py

我一直在做的是遵循本教程:Access django models inside of Scrapy

我遵循了一切,但我仍然无法做很多事情。 每次我运行python manage.py scrapy crawl my_scraper时,它都会给我同样的错误:

  

ImportError:没有名为scrapy_project.settings的模块

现在我在Django' settings.py中导入设置:

import os

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

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

以下是scrapy.py文件夹中的commands

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:])

1 个答案:

答案 0 :(得分:2)

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