Scrapy - Console Telnet
La description
La console Telnet est un shell Python qui s'exécute dans le processus Scrapy et est utilisé pour inspecter et contrôler un processus en cours d'exécution Scrapy.
Accéder à la console Telnet
La console telnet est accessible à l'aide de la commande suivante -
telnet localhost 6023
Fondamentalement, la console telnet est répertoriée dans le port TCP, qui est décrit dans TELNETCONSOLE_PORT réglages.
Variables
Certaines des variables par défaut données dans le tableau suivant sont utilisées comme raccourcis -
Sr.Non | Raccourci et description |
---|---|
1 | crawler Cela fait référence à l'objet Scrapy Crawler (scrapy.crawler.Crawler). |
2 | engine Cela fait référence à l'attribut Crawler.engine. |
3 | spider Cela fait référence à l'araignée qui est active. |
4 | slot Cela fait référence à l'emplacement du moteur. |
5 | extensions Cela fait référence à l'attribut Extension Manager (Crawler.extensions). |
6 | stats Cela fait référence à l'attribut Stats Collector (Crawler.stats). |
sept | setting Cela fait référence à l'attribut de l'objet Scrapy settings (Crawler.settings). |
8 | est Cela fait référence à l'impression d'un rapport sur l'état du moteur. |
9 | prefs Cela fait référence à la mémoire pour le débogage. |
dix | p Cela fait référence à un raccourci vers la fonction pprint.pprint . |
11 | hpy Cela fait référence au débogage de la mémoire. |
Exemples
Voici quelques exemples illustrés à l'aide de la console Telnet.
Mettre en pause, reprendre et arrêter le Scrapy Engine
Pour mettre en pause le moteur Scrapy, utilisez la commande suivante -
telnet localhost 6023
>>> engine.pause()
>>>
Pour reprendre le moteur Scrapy, utilisez la commande suivante -
telnet localhost 6023
>>> engine.unpause()
>>>
Pour arrêter le moteur Scrapy, utilisez la commande suivante -
telnet localhost 6023
>>> engine.stop()
Connection closed by foreign host.
Afficher l'état du moteur
La console Telnet utilise est() méthode pour vérifier l'état du moteur Scrapy comme indiqué dans le code suivant -
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
Signaux de la console Telnet
Vous pouvez utiliser les signaux de la console telnet pour ajouter, mettre à jour ou supprimer les variables dans l'espace de noms local telnet. Pour effectuer cette action, vous devez ajouter le dict telnet_vars dans votre gestionnaire.
scrapy.extensions.telnet.update_telnet_vars(telnet_vars)
Paramètres -
telnet_vars (dict)
Où, dict est un dictionnaire contenant des variables telnet.
Paramètres Telnet
Le tableau suivant montre les paramètres qui contrôlent le comportement de la console Telnet -
Sr.Non | Paramètres et description | Valeur par défaut |
---|---|---|
1 | TELNETCONSOLE_PORT Cela fait référence à la plage de ports pour la console telnet. S'il est défini sur aucun, le port sera attribué dynamiquement. |
[6023, 6073] |
2 | TELNETCONSOLE_HOST Cela fait référence à l'interface sur laquelle la console telnet doit écouter. |
«127.0.0.1» |