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'