Scrapy - Telnet Konsolu
Açıklama
Telnet konsolu, Scrapy süreci içinde çalışan ve Scrapy çalışan bir süreci incelemek ve kontrol etmek için kullanılan bir Python kabuğu.
Telnet Konsoluna Erişim
Telnet konsoluna aşağıdaki komut kullanılarak erişilebilir -
telnet localhost 6023
Temel olarak, telnet konsolu, aşağıda açıklanan TCP bağlantı noktasında listelenir. TELNETCONSOLE_PORT ayarlar.
Değişkenler
Aşağıdaki tabloda verilen varsayılan değişkenlerden bazıları kısayol olarak kullanılır -
Sr.No | Kısayol ve Açıklama |
---|---|
1 | crawler Bu, Scrapy Crawler (scrapy.crawler.Crawler) nesnesine başvurur. |
2 | engine Bu, Crawler.engine özelliğine başvurur. |
3 | spider Bu, aktif olan örümceği ifade eder. |
4 | slot Bu, motor yuvasını ifade eder. |
5 | extensions Bu, Extension Manager (Crawler.extensions) özelliğine başvurur. |
6 | stats Bu, İstatistik Toplayıcı (Crawler.stats) özelliğine başvurur. |
7 | setting Bu, Scrapy ayarlar nesnesi (Crawler.settings) özniteliğine başvurur. |
8 | est Bu, motor durumunun bir raporunun yazdırılması anlamına gelir. |
9 | prefs Bu, hata ayıklama için bellek anlamına gelir. |
10 | p Bu, pprint.pprint işlevine bir kısayol anlamına gelir . |
11 | hpy Bu, bellek hata ayıklamasını ifade eder. |
Örnekler
Aşağıda, Telnet Konsolu kullanılarak gösterilen bazı örnekler verilmiştir.
Scrapy Motoru Duraklat, Sürdür ve Durdur
Scrapy motorunu duraklatmak için aşağıdaki komutu kullanın -
telnet localhost 6023
>>> engine.pause()
>>>
Scrapy motorunu devam ettirmek için aşağıdaki komutu kullanın -
telnet localhost 6023
>>> engine.unpause()
>>>
Scrapy motorunu durdurmak için aşağıdaki komutu kullanın -
telnet localhost 6023
>>> engine.stop()
Connection closed by foreign host.
Motor Durumunu Görüntüle
Telnet konsolu kullanır est() Aşağıdaki kodda gösterildiği gibi, Scrapy motorunun durumunu kontrol etme yöntemi -
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 Konsol Sinyalleri
Telnet yerel ad alanındaki değişkenleri eklemek, güncellemek veya silmek için telnet konsol sinyallerini kullanabilirsiniz. Bu eylemi gerçekleştirmek için işleyicinize telnet_vars diktesini eklemeniz gerekir.
scrapy.extensions.telnet.update_telnet_vars(telnet_vars)
Parametreler -
telnet_vars (dict)
Nerede, dikt telnet değişkenleri içeren bir sözlüktür.
Telnet Ayarları
Aşağıdaki tablo, Telnet Konsolunun davranışını kontrol eden ayarları gösterir -
Sr.No | Ayarlar ve Açıklama | Varsayılan değer |
---|---|---|
1 | TELNETCONSOLE_PORT Bu, telnet konsolu için bağlantı noktası aralığını ifade eder. Hiçbiri olarak ayarlanırsa, bağlantı noktası dinamik olarak atanacaktır. |
[6023, 6073] |
2 | TELNETCONSOLE_HOST Bu, telnet konsolunun dinlemesi gereken arabirimi ifade eder. |
'127.0.0.1' |