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.
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.
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