Я запускаю Scrapy с проектом Django и пытаюсь определить настройки Scrapy за пределами проекта Scrapy. Я использую get_project_settings()
, который ищет переменную окружения SCRAPY_SETTINGS_MODULE
. Мне удалось установить значение scraper.crawling.crawling.settings
, но при запуске get_project_settings()
мне выдается сообщение об ошибке:
ModuleNotFoundError: No module named crawling
.
Это правильно, поскольку crawling
является каталог, а не модуль, settings
, который я пытаюсь направить. Кто-нибудь может мне помочь так, что get_project_settings
правильно найдет модуль settings
?
Ниже приведена структура папок, которую я использую:
├───django-scraper
| ├───django_scraper
| | ├───settings.py
| │ └───__init__.py
| ├───scraper
| │ ├───crawling
| │ │ └───crawling
| │ │ ├───spiders
| │ │ │ └───__init__.py
| | | ├───settings.py
| │ │ └───__init__.py
| │ ├───migrations
| │ │ └───__init__.py
| │ ├───templates
| │ │ └───scraper
| │ └───__init__.py
Следующее в моем Django settings.py
, поэтому это устанавливается при запуске сервера:
os.environ['SCRAPY_SETTINGS_MODULE'] = 'scraper.crawling.crawling.settings'
get_project_settings()
вызывается из crawler_process.py
, хотя я не думаю, что это местоположение проблема, так как она все равно просматривает переменную окружения.
Мой sys.path
уже содержит 'C:\\Users\\georg\\Django\\django-scraper'
, и он, похоже, получает доступ к scraping
в порядке, но затем пытается принять scraper.crawling
в качестве модуля.
Надеюсь, достаточно информации - это мой первый пост, поэтому дайте мне знать, если что-нибудь еще понадобится!