Scrapy извне проекта - пустые настройки - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь запустить пауков из Django команды управления.

Работает, но не использует settings из scrapy проекта.

django_project/
    django_project/
    app1/
    scraping/ # This is app but it has scrapy project inside too
        scrapy_spider/
            settings.py
            spiders/

КогдаЯ пытаюсь указать settings внутри команды, она возвращает:

ModuleNotFoundError: No module named 'scrapy_spider'

КОМАНДА

import os
from django.core.management.base import BaseCommand
from scrapy.utils.project import get_project_settings

from twisted.internet import reactor, defer
from scrapy.crawler import CrawlerRunner

from scraping.scrapy_spider.spiders.autoscrape_index_spider import AutoScrapeIndexSpider
from scraping.scrapy_spider.spiders.autoscrape_spider import AutoScrapeSpider


class Command(BaseCommand):

    def handle(self, *args, **options):
        os.environ['SCRAPY_SETTINGS_MODULE'] = 'scraping.scrapy_spider.settings'
        runner = CrawlerRunner(settings=get_project_settings())

        @defer.inlineCallbacks
        def crawl():
            yield runner.crawl(AutoScrapeIndexSpider)
            yield runner.crawl(AutoScrapeSpider)
            reactor.stop()

        crawl()
        reactor.run()

Вы знаете, как заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...