Scrapy - konsola Telnet
Opis
Konsola Telnet to powłoka Pythona, która działa w procesie Scrapy i służy do inspekcji i kontrolowania uruchomionego procesu Scrapy.
Uzyskaj dostęp do konsoli Telnet
Dostęp do konsoli telnet można uzyskać za pomocą następującego polecenia -
telnet localhost 6023Zasadniczo konsola telnet jest wymieniona w porcie TCP, który jest opisany w TELNETCONSOLE_PORT ustawienia.
Zmienne
Niektóre domyślne zmienne podane w poniższej tabeli są używane jako skróty -
| Sr.No | Skrót i opis | 
|---|---|
| 1 | crawler Odnosi się to do obiektu Scrapy Crawler (scrapy.crawler.Crawler). | 
| 2 | engine Dotyczy to atrybutu Crawler.engine. | 
| 3 | spider Odnosi się to do pająka, który jest aktywny. | 
| 4 | slot Odnosi się to do gniazda silnika. | 
| 5 | extensions Dotyczy to atrybutu Extension Manager (Crawler.extensions). | 
| 6 | stats Odnosi się to do atrybutu Stats Collector (Crawler.stats). | 
| 7 | setting Odnosi się to do atrybutu obiektu ustawień Scrapy (Crawler.settings). | 
| 8 | est Odnosi się to do drukowania raportu o stanie silnika. | 
| 9 | prefs Odnosi się to do pamięci do debugowania. | 
| 10 | p Odnosi się to do skrótu do funkcji pprint.pprint . | 
| 11 | hpy Odnosi się to do debugowania pamięci. | 
Przykłady
Poniżej przedstawiono kilka przykładów zilustrowanych za pomocą konsoli Telnet.
Wstrzymaj, wznów i zatrzymaj silnik Scrapy
Aby wstrzymać silnik Scrapy, użyj następującego polecenia -
telnet localhost 6023
>>> engine.pause()
>>>Aby wznowić silnik Scrapy, użyj następującego polecenia -
telnet localhost 6023
>>> engine.unpause()
>>>Aby zatrzymać silnik Scrapy, użyj następującego polecenia -
telnet localhost 6023
>>> engine.stop()
Connection closed by foreign host.Wyświetl stan silnika
Konsola Telnet używa est() metoda sprawdzania statusu silnika Scrapy, jak pokazano w poniższym kodzie -
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()             : FalseSygnały konsoli Telnet
Za pomocą sygnałów konsoli telnet można dodawać, aktualizować lub usuwać zmienne w lokalnej przestrzeni nazw telnet. Aby wykonać tę akcję, musisz dodać dykt telnet_vars do swojego handlera.
scrapy.extensions.telnet.update_telnet_vars(telnet_vars)Parametry -
telnet_vars (dict)Gdzie, dict jest słownikiem zawierającym zmienne telnet.
Ustawienia Telnet
W poniższej tabeli przedstawiono ustawienia kontrolujące zachowanie konsoli Telnet -
| Sr.No | Ustawienia i opis | Domyślna wartość | 
|---|---|---|
| 1 | TELNETCONSOLE_PORT Dotyczy to zakresu portów konsoli telnet. Jeśli jest ustawiona na none, port zostanie przypisany dynamicznie. | [6023, 6073] | 
| 2 | TELNETCONSOLE_HOST Odnosi się to do interfejsu, na którym powinna nasłuchiwać konsola telnet. | „127.0.0.1” |