Scrapy-telnet-console

提供:Dev Guides
移動先:案内検索

スクレイピー-Telnetコンソール

説明

Telnetコンソールは、Scrapyプロセス内で実行されるPythonシェルであり、Scrapy実行プロセスの検査と制御に使用されます。

Telnetコンソールにアクセス

telnetコンソールは、次のコマンドを使用してアクセスできます-

telnet localhost 6023

基本的に、telnetコンソールはTCPポートにリストされます。これについては、 TELNETCONSOLE_PORT 設定で説明されています。

変数

次の表に示されているデフォルト変数のいくつかは、ショートカットとして使用されます-

Sr.No Shortcut & Description
1

crawler

これは、Scrapy Crawler(scrapy.crawler.Crawler)オブジェクトを指します。

2

engine

これはCrawler.engine属性を指します。

3

spider

これはアクティブなクモを指します。

4

slot

これはエンジンスロットを指します。

5

extensions

これは、Extension Manager(Crawler.extensions)属性を指します。

6

stats

これは、統計コレクター(Crawler.stats)属性を指します。

7

setting

これは、Scrapy設定オブジェクト(Crawler.settings)属性を指します。

8

est

これは、エンジンステータスのレポートを印刷することを意味します。

9

prefs

これは、デバッグ用のメモリを指します。

10

p

これは、https://docs.python.org/3/library/pprintl#pprint.pprint [pprint.pprint]関数へのショートカットを指します。

11

hpy

これはメモリのデバッグを指します。

以下は、Telnetコンソールを使用したいくつかの例です。

Scrapyエンジンの一時停止、再開、停止

スクレイピーエンジンを一時停止するには、次のコマンドを使用します-

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

スクレイピーエンジンを再開するには、次のコマンドを使用します-

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

スクレイピーエンジンを停止するには、次のコマンドを使用します-

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

エンジンステータスの表示

Telnetコンソールは、次のコードに示すように、* est()*メソッドを使用して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.No Settings & Description Default Value
1

TELNETCONSOLE_PORT

これは、telnetコンソールのポート範囲を指します。 noneに設定されている場合、ポートは動的に割り当てられます。

[6023, 6073]
2

TELNETCONSOLE_HOST

これは、Telnetコンソールがリッスンするインターフェイスを指します。

'127.0.0.1'