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" |