Scrapy - Telnet控制台

描述

Telnet控制台是一个Python shell,在Scrapy流程中运行,用于检查和控制Scrapy运行过程.

Access Telnet控制台

可以使用以下命令访问telnet控制台 :

 
 telnet localhost 6023

基本上,telnet控制台列在TCP端口中,在 TELNETCONSOLE_PORT 设置中有描述.

变量

下表中给出的一些默认变量用作快捷键 :

Sr.No快捷方式&说明
1

crawler

这是指Scrapy Crawler(scrapy.crawler.Crawler)对象.

2

引擎

这是指Crawler.engine属性.

3

蜘蛛

这是指活跃的蜘蛛.

4

插槽

这是指发动机插槽.

5

扩展程序

这是指Extension Manager(Crawler.extensions)属性.

6

统计数据

这是指统计信息收集器(Crawler.stats)属性.

7

设置

这是指Scrapy设置对象(Crawler.settings)属性.

8

est

这是指打印发动机状态报告.

9

prefs

这是指用于调试的内存.

10

p

这是指 pprint.pprint 功能.

11

hpy

这是指内存调试.

示例

以下是使用Telnet控制台说明的一些示例.

暂停,恢复和停止Scrapy引擎

要暂停Scrapy引擎,请使用followi ng命令 :

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

要恢复Scrapy引擎,请使用以下命令 :

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

要停止Scrapy引擎,请使用以下命令 :

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

查看引擎状态

Telnet控制台使用 \\ test()方法检查状态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本地命名空间中的变量.要执行此操作,您需要在处理程序中添加telnet_vars dict.

 
 scrapy.extensions.telnet.update_telnet_vars(telnet_vars)

参数 :

 
 telnet_vars(dict)

其中,dict是包含telnet变量的字典.

Telnet设置

下表显示了控制Telnet控制台行为的设置 :

Sr.否设置&说明默认值
1

TELNETCONSOLE_PORT

这是指telnet控制台的端口范围.如果设置为none,则将动态分配端口.

[6023,6073]
2

TELNETCONSOLE_HOST

这是指telnet控制台应该监听的接口.

'127.0.0.1'