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»