开发手册 欢迎您!
软件开发者资料库

Scrapy - Telnet控制台

Scrapy Telnet控制台 - 从简单和简单的步骤学习Scrapy,从基本到高级概念,包括概述,环境,命令行工具,蜘蛛,选择器,项目,项目装载程序,外壳,项目管道,Feed导出,请求和响应,链接提取器,设置,例外,创建项目,定义项目,第一个蜘蛛,爬行,提取项目,使用项目,以下链接,Scraped数据,日志记录,统计信息收集,发送电子邮件,Telnet控制台,Web服务。

描述

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'