Scrapy - Consola Telnet

Descripción

La consola Telnet es un shell de Python que se ejecuta dentro del proceso Scrapy y se utiliza para inspeccionar y controlar un proceso en ejecución Scrapy.

Acceder a la consola Telnet

Se puede acceder a la consola telnet usando el siguiente comando:

telnet localhost 6023

Básicamente, la consola telnet aparece en el puerto TCP, que se describe en TELNETCONSOLE_PORT ajustes.

Variables

Algunas de las variables predeterminadas que se proporcionan en la siguiente tabla se utilizan como atajos:

No Señor Atajo y descripción
1

crawler

Esto se refiere al objeto Scrapy Crawler (scrapy.crawler.Crawler).

2

engine

Esto se refiere al atributo Crawler.engine.

3

spider

Esto se refiere a la araña que está activa.

4

slot

Esto se refiere a la ranura del motor.

5

extensions

Esto se refiere al atributo Extension Manager (Crawler.extensions).

6

stats

Esto se refiere al atributo Recopilador de estadísticas (Crawler.stats).

7

setting

Esto se refiere al atributo del objeto de configuración Scrapy (Crawler.settings).

8

est

Esto se refiere a imprimir un informe del estado del motor.

9

prefs

Esto se refiere a la memoria para depurar.

10

p

Esto se refiere a un acceso directo a la función pprint.pprint .

11

hpy

Esto se refiere a la depuración de memoria.

Ejemplos

A continuación, se muestran algunos ejemplos ilustrados con la consola Telnet.

Pausar, reanudar y detener el motor Scrapy

Para pausar el motor Scrapy, use el siguiente comando:

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

Para reanudar el motor Scrapy, use el siguiente comando:

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

Para detener el motor Scrapy, use el siguiente comando:

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

Ver estado del motor

Usos de la consola Telnet est() método para verificar el estado del motor Scrapy como se muestra en el siguiente código:

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

Señales de la consola Telnet

Puede utilizar las señales de la consola telnet para agregar, actualizar o eliminar las variables en el espacio de nombres local de telnet. Para realizar esta acción, debe agregar el dict telnet_vars en su controlador.

scrapy.extensions.telnet.update_telnet_vars(telnet_vars)

Parámetros -

telnet_vars (dict)

Donde, dict es un diccionario que contiene variables de telnet.

Configuración de Telnet

La siguiente tabla muestra la configuración que controla el comportamiento de la consola Telnet:

No Señor Configuración y descripción Valor por defecto
1

TELNETCONSOLE_PORT

Esto se refiere al rango de puertos para la consola Telnet. Si se establece en none, el puerto se asignará dinámicamente.

[6023, 6073]
2

TELNETCONSOLE_HOST

Esto se refiere a la interfaz en la que debe escuchar la consola Telnet.

"127.0.0.1"