Учебники

Scrapy — консоль Telnet

Консоль Telnet — это оболочка Python, которая запускается внутри процесса Scrapy и используется для проверки и управления процессом Scrapy.

Доступ к консоли Telnet

Доступ к консоли telnet можно получить с помощью следующей команды:

telnet localhost 6023

В основном, консоль telnet указана в порте TCP, который описан в настройках TELNETCONSOLE_PORT .

переменные

Некоторые из переменных по умолчанию, приведенных в следующей таблице, используются в качестве ярлыков —

Sr.No Ярлык и описание
1

гусеничный трактор

Это относится к объекту Scrapy Crawler (scrapy.crawler.Crawler).

2

двигатель

Это относится к атрибуту Crawler.engine.

3

паук

Это относится к пауку, который активен.

4

слот

Это относится к слоту двигателя.

5

расширения

Это относится к атрибуту Extension Manager (Crawler.extensions).

6

статистика

Это относится к атрибуту Stats Collector (Crawler.stats).

7

установка

Это относится к атрибуту объекта настроек Scrapy (Crawler.settings).

8

стандартное восточное время

Это относится к распечатке отчета о состоянии двигателя.

9

привилегированные

Это относится к памяти для отладки.

10

п

Это относится к ярлыку функции pprint.pprint .

11

HPY

Это относится к отладке памяти.

гусеничный трактор

Это относится к объекту Scrapy Crawler (scrapy.crawler.Crawler).

двигатель

Это относится к атрибуту Crawler.engine.

паук

Это относится к пауку, который активен.

слот

Это относится к слоту двигателя.

расширения

Это относится к атрибуту Extension Manager (Crawler.extensions).

статистика

Это относится к атрибуту Stats Collector (Crawler.stats).

установка

Это относится к атрибуту объекта настроек Scrapy (Crawler.settings).

стандартное восточное время

Это относится к распечатке отчета о состоянии двигателя.

привилегированные

Это относится к памяти для отладки.

п

Это относится к ярлыку функции pprint.pprint .

HPY

Это относится к отладке памяти.

Примеры

Ниже приведены некоторые примеры, иллюстрируемые с помощью консоли Telnet.

Приостановить, возобновить и остановить Scrapy Engine

Чтобы приостановить Scrapy Engine, используйте следующую команду —

telnet localhost 6023
>>> engine.pause()
>>>

Чтобы возобновить Scrapy Engine, используйте следующую команду —

telnet localhost 6023
>>> engine.unpause()
>>>

Чтобы остановить двигатель Scrapy, используйте следующую команду —

telnet localhost 6023
>>> engine.stop()
Connection closed by foreign host.

Просмотр состояния двигателя

Консоль Telnet использует метод est () для проверки состояния движка Scrapy, как показано в следующем коде —

telnet localhost 6023
>>> est()
Execution engine status

time()-engine.start_time                        : 8.62972998619
engine.has_capacity()                           : False
len(engine.downloader.active)                   : 16
engine.scraper.is_idle()                        : False
engine.spider.name                              : followall
engine.spider_is_idle(engine.spider)            : False
engine.slot.closing                             : False
len(engine.slot.inprogress)                     : 16
len(engine.slot.scheduler.dqs or [])            : 0
len(engine.slot.scheduler.mqs)                  : 92
len(engine.scraper.slot.queue)                  : 0
len(engine.scraper.slot.active)                 : 0
engine.scraper.slot.active_size                 : 0
engine.scraper.slot.itemproc_size               : 0
engine.scraper.slot.needs_backout()             : False

Сигналы консоли Telnet

Вы можете использовать сигналы консоли telnet для добавления, обновления или удаления переменных в локальном пространстве имен telnet. Чтобы выполнить это действие, вам нужно добавить dict telnet_vars в ваш обработчик.

scrapy.extensions.telnet.update_telnet_vars(telnet_vars)

Параметры —

telnet_vars (dict)

Где dict — это словарь, содержащий переменные telnet.

Настройки Telnet

В следующей таблице приведены параметры, управляющие поведением консоли Telnet.

TELNETCONSOLE_PORT

Это относится к диапазону портов для консоли telnet. Если для него установлено значение none, порт будет назначен динамически.

TELNETCONSOLE_HOST

Это относится к интерфейсу, который должна прослушивать консоль telnet.