描述
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 statustime()-engine.start_time : 8.62972998619engine.has_capacity() : Falselen(engine.downloader.active) : 16engine.scraper.is_idle() : Falseengine.spider.name : followallengine.spider_is_idle(engine.spider) : Falseengine.slot.closing : Falselen(engine.slot.inprogress) : 16len(engine.slot.scheduler.dqs or []) : 0len(engine.slot.scheduler.mqs) : 92len(engine.scraper.slot.queue) : 0len(engine.scraper.slot.active) : 0engine.scraper.slot.active_size : 0engine.scraper.slot.itemproc_size : 0engine.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' |