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