Scrapy-telnet-console
スクレイピー-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' |