这是我的文件夹布局:
- 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
- 蜘蛛
- scrapy_项目
- 项目
- 项目
我一直在按照本教程进行操作: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 包向上移动一层。
