Scrapy - Console Telnet

Descrição

O console Telnet é um shell Python executado dentro do processo Scrapy e é usado para inspecionar e controlar um processo em execução Scrapy.

Acesse o console Telnet

O console telnet pode ser acessado usando o seguinte comando -

telnet localhost 6023

Basicamente, o console telnet é listado na porta TCP, que é descrito em TELNETCONSOLE_PORT configurações.

Variáveis

Algumas das variáveis ​​padrão fornecidas na tabela a seguir são usadas como atalhos -

Sr. Não Atalho e descrição
1

crawler

Refere-se ao objeto Scrapy Crawler (scrapy.crawler.Crawler).

2

engine

Isso se refere ao atributo Crawler.engine.

3

spider

Isso se refere à aranha que está ativa.

4

slot

Isso se refere ao slot do motor.

5

extensions

Isso se refere ao atributo Extension Manager (Crawler.extensions).

6

stats

Refere-se ao atributo Stats Collector (Crawler.stats).

7

setting

Refere-se ao atributo do objeto Scrapy settings (Crawler.settings).

8

est

Isso se refere à impressão de um relatório do status do motor.

9

prefs

Isso se refere à memória para depuração.

10

p

Isso se refere a um atalho para a função pprint.pprint .

11

hpy

Isso se refere à depuração de memória.

Exemplos

A seguir estão alguns exemplos ilustrados usando o console Telnet.

Pause, retome e pare o mecanismo de sucata

Para pausar o mecanismo Scrapy, use o seguinte comando -

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

Para retomar o mecanismo Scrapy, use o seguinte comando -

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

Para parar o mecanismo Scrapy, use o seguinte comando -

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

Exibir status do motor

O console Telnet usa est() método para verificar o status do mecanismo Scrapy, conforme mostrado no código a seguir -

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

Sinais do console Telnet

Você pode usar os sinais do console telnet para adicionar, atualizar ou excluir as variáveis ​​no namespace local telnet. Para executar esta ação, você precisa adicionar o dict telnet_vars em seu manipulador.

scrapy.extensions.telnet.update_telnet_vars(telnet_vars)

Parâmetros -

telnet_vars (dict)

Onde, dict é um dicionário contendo variáveis ​​telnet.

Configurações de Telnet

A tabela a seguir mostra as configurações que controlam o comportamento do console Telnet -

Sr. Não Configurações e descrição Valor padrão
1

TELNETCONSOLE_PORT

Isso se refere ao intervalo de portas para o console telnet. Se for definido como nenhum, a porta será atribuída dinamicamente.

[6023, 6073]
2

TELNETCONSOLE_HOST

Isso se refere à interface na qual o console telnet deve escutar.

'127.0.0.1'