Skip to main content
 首页 » 编程设计

python之无法在 Django 中运行 Scrapy 项目

2024年08月26日30jyk

这是我的文件夹布局:

  • my_django_project
    • 项目
      • 项目
        • __初始化__.py
        • 设置.py
        • urls.py
        • wsgi.py
      • 人
        • 管理
          • __初始化__.py
          • 命令
            • __初始化__.py
            • scrapy.py
        • 迁移
        • __初始化__.py
        • admin.py
        • 模型.py
        • 测试.py
        • views.py
      • scrapy_项目
        • scrapy_项目
          • 蜘蛛
            • __初始化__.py
            • my_scraper.py
          • __初始化__.py
          • 项目.py
          • 管道.py
          • 设置.py

我一直在按照本教程进行操作:Access django models inside of Scrapy

而且我遵循了所有内容,但我仍然无能为力。 每次我运行 python manage.py scrapy crawl my_scraper 它都会给我同样的错误:

ImportError: No module named 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 包向上移动一层。