【问题标题】:Can't run Scrapy project in Django无法在 Django 中运行 Scrapy 项目
【发布时间】:2015-03-21 23:21:50
【问题描述】:

这是我的文件夹布局:

  • 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

而我一直在做的是遵循本教程: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 项目。

这是我在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:])

【问题讨论】:

    标签: python django scrapy


    【解决方案1】:

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

    【讨论】:

    • 基本上我将 first scrapy_project 文件夹 中的内容移到顶部,使其位于 second project 文件夹下。谢谢!
    猜你喜欢
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2013-07-28
    相关资源
    最近更新 更多