Guten Abend n0bisuke. Ich mache mir Notizen darüber, wovon ich bei der Entwicklung von Pfeffer abhängig war. (Letztes Mal => Memo zum Erstellen einer eigenen Box mit Peppers Python)
Python hat ein großartiges Anfrage Modul. Ich möchte es positiv verwenden, wenn ich mit http kommuniziere ... Da pip jedoch nicht mit Pfeffer verwendet werden kann, gehen wir wie folgt vor.
Das Bild ist übrigens @ ukk0, der kürzlich unserem Team beigetreten ist. Es hat nichts mit dem Inhalt des Artikels zu tun lol
Siehe Verwenden von Anforderungen für die HTTP-Kommunikation von Pepper.
Ein Modul, mit dem sich http-Anfragen gut anfühlen. Es gibt "urllib2", aber es ist so einfach, dass es unvergleichlich ist.
$ pip install requests
app.py
import requests
r = requests.get('http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json')
print r.json()["title"]
Informieren Sie sich über Qiita-Beiträge. http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json
$ python app.py
Beispiel für das Parsen von HTTP GET und JSON mit Pfefferpython
Ich rufe dich in zwei Zeilen an. Es ist einfach.
Es scheint, dass pip nicht mit Pfeffer verwendet werden kann, und es ist üblich, das gesamte Verzeichnis orz einzufügen
Laden Sie es als Zip von der Github-Seite herunter und fügen Sie den Inhaltsanforderungsordner in die Choregraphe-Seite ein.
↓
Erstellen Sie einen "lib-Ordner" und legen Sie den "Anforderungsordner" darin ab.
Bearbeiten Sie danach das Python-Skript wie in Letzter Artikel.
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 "
usw. entsprechen der Angabe des Pfads zum zuvor erstellten lib-Ordner
.
Ich bin nicht mit Python vertraut, daher werde ich es nicht mehr erwähnen.
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') #← Nachtrag
title = r.json()["title"].encode("utf-8") #← Nachtrag
self.logger.info(title) #← Nachtrag
def onInput_onStop(self):
self.onUnload()
self.onStopped()
Jetzt können Sie endlich "Anfragen importieren". Der Rest ist der gleiche wie der Python-Code, den ich am Anfang geschrieben habe.
Wenn Sie es ausführen und die analysierte Zeichenfolge im Collegraph-Dialogfeld angezeigt wird, ist es erfolgreich.
Beispiel für das Parsen von HTTP GET und JSON mit Pfefferpython
Recommended Posts