[PYTHON] Essayez d'ajouter un module externe au poivre. Pour le moment, en demandes.

Bonsoir n0bisuke. Je prends note de ce à quoi j'étais accro dans le développement du poivre. (Dernière fois => Mémo pour créer votre propre Box avec Pepper's Python)

python a un excellent module request. Je veux l'utiliser positivement lors de la communication avec http ... Cependant, comme pip ne peut pas être utilisé avec pepper, faisons-le avec la procédure suivante.

Au fait, la photo est @ ukk0 qui a récemment rejoint notre équipe. Cela n'a rien à voir avec le contenu de l'article lol

Reportez-vous à Utilisation des requêtes pour la communication HTTP de Pepper.

module de demande

Un module qui fait du bien aux requêtes http. Il y a ʻurllib2`, mais c'est tellement simple que c'est incomparable.

$ pip install requests

app.py


import requests

r = requests.get('http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json')
print r.json()["title"]

Obtenez des informations sur les messages Qiita. http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json

$ python app.py
Exemple d'analyse HTTP GET et JSON avec Pepper Python

Je vous appellerai en deux lignes. C'est facile.

Utiliser avec du poivre

Il semble que pip ne puisse pas être utilisé avec pepper, et il est courant d'insérer tout le répertoire orz

Téléchargez-le sous forme de zip depuis la page github et insérez le contenu «dossier de demandes» dans le côté chorégraphe.

Créez un dossier lib et mettez-y le dossier requests. 

Après cela, éditez Python Script comme dans Dernier article.

app.py


class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)

    def onLoad(self):
        self.framemanager = ALProxy("ALFrameManager")
        self.folderName = None

    def onUnload(self):
        import sys
        if self.folderName and self.folderName in sys.path:
            sys.path.remove(self.folderName)
        self.folderName = None

    def onInput_onStart(self):
        import sys, os
        self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
        if self.folderName not in sys.path:
            sys.path.append(self.folderName)

    def onInput_onStop(self):
        self.onUnload()
        self.onStopped()

self.framemanager.getBehaviorPath (self.behaviorId)," ../ lib ", etc. sont comme spécifier le chemin vers le dossier lib créé précédemment.

Je ne suis pas familier avec python, donc je ne le mentionnerai plus.

app.py


class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)

    def onLoad(self):
        self.framemanager = ALProxy("ALFrameManager")
        self.folderName = None

    def onUnload(self):
        import sys
        if self.folderName and self.folderName in sys.path:
            sys.path.remove(self.folderName)
        self.folderName = None

    def onInput_onStart(self):
        import sys, os
        self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
        if self.folderName not in sys.path:
            sys.path.append(self.folderName)
        import requests
        r = requests.get('http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json') #← Addendum
        title = r.json()["title"].encode("utf-8") #← Addendum
        self.logger.info(title) #← Addendum

    def onInput_onStop(self):
        self.onUnload()
        self.onStopped()

Maintenant, vous pouvez enfin «importer des requêtes». Le reste est le même que le code python que j'ai écrit au début.

Si vous l'exécutez et que la chaîne de caractères analysée est affichée dans la boîte de dialogue Collegraph, cela réussit.

Exemple d'analyse HTTP GET et JSON avec Pepper Python

Recommended Posts

Essayez d'ajouter un module externe au poivre. Pour le moment, en demandes.
Simulation de dynamique moléculaire à essayer pour le moment
[Apprentissage de renforcement d'introduction] Renforcement de l'apprentissage pour bouger pour le moment
Essayez d'utiliser FireBase Cloud Firestore avec Python pour le moment
Essayez d'utiliser LINE Notify pour le moment
Essayez de publier sur Qiita pour la première fois
Mémo de flux pour déplacer LOCUST pour le moment
À côté d'Excel, le notebook Jupyter pour le moment
J'essaierai de résumer les liens qui me semblent utiles pour le moment
Je veux déplacer le sélénium pour le moment [pour mac]
Pour le moment, essayez d'utiliser l'API de dialogue de discussion docomo
Je veux créer un Dockerfile pour le moment.
Mettez le module dans l'application Pepper
Essayez Cython dans les plus brefs délais
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
J'ai créé une fonction pour vérifier si le webhook est reçu dans Lambda pour le moment
python3 Comment installer un module externe
[Python] [Apprentissage automatique] Les débutants sans aucune connaissance essaient l'apprentissage automatique pour le moment
MongoDB avec Python pour la première fois
Essayons Linux pour la première fois
Pour la première fois dans Numpy, je vais le mettre à jour de temps en temps
Je souhaite utiliser l'environnement de bureau d'Ubuntu même sur Android pour le moment (entrée version japonaise de Termux dans l'environnement de bureau)
Changer le module à charger pour chaque environnement d'exécution en Python
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Je souhaite stocker les résultats de% time, %% time, etc. dans un objet (variable)
Essayez d'ajouter la distorsion de l'objectif fisheye à l'image
Comment utiliser MkDocs pour la première fois
Pour le moment, importez-les dans jupyter
Faire un histogramme pour le moment (matplotlib)
Exécutez yolov4 "pour le moment" dans Windows
J'ai joué avec Floydhub pour le moment
Essayez de calculer RPN avec Python (pour les débutants)
Demandes HTTP simulées via le module de requêtes dans les réponses
virtualenv Pour le moment, c'est tout!
Écrivez ceci dans le fichier ttl pour le moment pour la connexion SSH automatique avec Teraterm
Essayez de créer un module Python en langage C
Exécutez avec CentOS7 + Apache2.4 + Python3.6 pour le moment
Enregistrer une tâche dans cron pour la première fois
Écrire des données dans KINTONE à l'aide du module de requêtes Python
Essayez d'installer Arch Linux pour le moment.
Essayez de déchiffrer les données de connexion stockées dans Firefox
[Pour les débutants] Je souhaite expliquer le nombre d’apprentissage d’une manière facile à comprendre.
Comment calculer la somme ou la moyenne des données csv de séries chronologiques en un instant
Je souhaite utiliser l'environnement de bureau d'Ubuntu sur Android pour le moment (version Termux)
Je souhaite utiliser l'environnement de bureau d'Ubuntu sur Android pour le moment (version UserLAnd)
Un moyen simple de visualiser le temps pris en Python et un moyen plus intelligent de l'améliorer
Code de test pour vérifier les liens brisés dans la page
J'ai essayé d'exécuter PIFuHD sur Windows pour le moment
Résumé des points d'achoppement à Django pour la première fois
Comment manipuler le DOM dans iframe avec Selenium
[Comprendre au plus court] Principes de base de Python pour l'analyse des données
J'ai essayé d'illustrer le temps et le temps du langage C
Essayez d'extraire les mots-clés populaires dans COTOHA
Une introduction à l'API de socket moderne pour apprendre en C
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
L'histoire du retour au front pour la première fois en 5 ans et de la refactorisation de Python Django
Si vous êtes novice en programmation, pourquoi ne pas créer un "jeu" pour le moment? L'histoire