这是我的文件夹布局:
- 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_project
- 项目
- 项目
我一直在做的是遵循本教程:在 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
包向上移动一级。