Пользовательские настройки Scrapy - PullRequest
0 голосов
/ 12 сентября 2018

Используя scrapy, у меня есть один из моих пауков:

class IndexSpider(scrapy.Spider):
    name = "indices"

    def __init__(self, *args, **kwargs):
        super(IndexSpider, self).__init__(*args, **kwargs)

        # set custom settings
        custom_settings = {
            'DOWNLOAD_DELAY': 2,
            'ITEM_PIPELINES': {
                'freedom.pipelines.IndexPipeline': 300
            }
        }

Однако, когда я позже попытаюсь получить доступ к настройкам через

    print(dict(self.settings.get('ITEM_PIPELINES')))

они пусты. Фоном является то, что я хочу контролировать настройки (и возможные конвейеры) для каждого паука.
Что я тут не так делаю?

1 Ответ

0 голосов
/ 12 сентября 2018

custom_settings должен быть атрибутом класса:

class IndexSpider(scrapy.Spider):
    name = "indices"

    # set custom settings
    custom_settings = {
        'DOWNLOAD_DELAY': 2,
        'ITEM_PIPELINES': {
            'freedom.pipelines.IndexPipeline': 300
        }
    }

    def __init__(self, *args, **kwargs):
        super(IndexSpider, self).__init__(*args, **kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...