Как убедиться, что моя конфигурация "settings.py" используется с моим пауком? - PullRequest
0 голосов
/ 25 апреля 2019

Я включил несколько параметров в своем файле settings.py Autothrottle Задержка загрузки Задержка запуска Макс. Задержка

Но когда я запускаю своего паука, он все равно работает так же быстро, как и до включения всех этих параметров.

Как я узнаю, что мой паук действительно читает / использует эту конфигурацию settings.py.

Единственное, что я попробовал, - это запустить мой список URL с пауком, у которого ничего не включено, итот же список с пауком, у которого есть все, что включено, и они оба работают примерно одинаковое количество времени ... и так же быстро ... так что я не хочу, чтобы черный список из этого домена ... я хочу быть этичным в ударесерверы в медленном темпе, чтобы не вызывать проблем.

Вот параметры, которые я включил в settings.py

AUTOTHROTTLE_ENABLED = True
# The initial download delay
AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
AUTOTHROTTLE_MAX_DELAY = 20
# The average number of requests Scrapy should be sending in parallel to
# each remote server
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
DOWNLOAD_DELAY = 5
# Obey robots.txt rules
ROBOTSTXT_OBEY = True

Должен ли я импортировать настройки в сам паук?Должен ли я делать НИЧЕГО в коде паука, чтобы он мог прочитать этот файл?

Я хочу иметь возможность запускать паука с 2600+ URL-адресами и не хочу вызывать проблемы для сайта или нас ..;)

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Вы можете увидеть настройки, которые вы используете в журналах:

2019-04-30 12:20:20 [scrapy.crawler] INFO: Overridden settings: {'AUTOTHROTTLE_ENABLED': True, …}
0 голосов
/ 25 апреля 2019

Вы можете проверить, какие настройки используются следующим образом. И добавьте пользовательские настройки для каждого паука, как показано ниже.

class MySpider(scrapy.Spider):
    name = 'myspider'
    start_urls = ['http://example.com']

    custom_settings = {
        'SOME_SETTING': 'some value',
    }

    def parse(self, response):
        print("Existing settings: %s" % self.settings.attributes.keys())

Более подробную информацию о настройках и пауках можно найти здесь

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