Scrapy-Telnetコンソール
説明
TelnetコンソールはScrapyプロセス内で実行されるPythonシェルであり、Scrapy実行プロセスを検査および制御するために使用されます。
Telnetコンソールにアクセスする
telnetコンソールには、次のコマンドを使用してアクセスできます。
telnet localhost 6023基本的に、telnetコンソールはTCPポートにリストされています。 TELNETCONSOLE_PORT 設定。
変数
次の表に示すデフォルト変数の一部は、ショートカットとして使用されます-
| シニア番号 | ショートカットと説明 | 
|---|---|
| 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 これは、pprint.pprint関数へのショートカットを指します。 | 
| 11 | hpy これはメモリデバッガーを指します。 | 
例
以下は、Telnetコンソールを使用して説明されているいくつかの例です。
Scrapyエンジンを一時停止、再開、停止します
Scrapyエンジンを一時停止するには、次のコマンドを使用します-
telnet localhost 6023
>>> engine.pause()
>>>Scrapyエンジンを再開するには、次のコマンドを使用します-
telnet localhost 6023
>>> engine.unpause()
>>>Scrapyエンジンを停止するには、次のコマンドを使用します-
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()             : FalseTelnetコンソールシグナル
telnetコンソール信号を使用して、telnetローカル名前空間の変数を追加、更新、または削除できます。このアクションを実行するには、ハンドラーにtelnet_varsdictを追加する必要があります。
scrapy.extensions.telnet.update_telnet_vars(telnet_vars)パラメータ-
telnet_vars (dict)ここで、dictはtelnet変数を含む辞書です。
Telnet設定
次の表は、Telnetコンソールの動作を制御する設定を示しています-
| シニア番号 | 設定と説明 | デフォルト値 | 
|---|---|---|
| 1 | TELNETCONSOLE_PORT これは、Telnetコンソールのポート範囲を指します。noneに設定されている場合、ポートは動的に割り当てられます。 | [6023、6073] | 
| 2 | TELNETCONSOLE_HOST これは、Telnetコンソールがリッスンする必要があるインターフェイスを指します。 | '127.0.0.1' |