[PYTHON] Versuchen Sie, Pfeffer ein externes Modul hinzuzufügen. Vorerst in Anfragen.

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.

Anforderungsmodul

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.

Mit Pfeffer verwenden

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

Versuchen Sie, Pfeffer ein externes Modul hinzuzufügen. Vorerst in Anfragen.
Molekulardynamiksimulation vorerst versuchen
[Einführung in die Stärkung des Lernens] Stärkung des Lernens, um sich vorerst zu bewegen
Versuchen Sie vorerst, FireBase Cloud Firestore mit Python zu verwenden
Versuchen Sie es vorerst mit LINE Notify
Versuchen Sie zum ersten Mal, in Qiita zu posten
Flow Memo, um LOCUST vorerst zu verschieben
Neben Excel jupyter Notebook vorerst
Ich werde versuchen, die Links zusammenzufassen, die vorerst nützlich erscheinen
Ich möchte vorerst Selen bewegen [für Mac]
Versuchen Sie vorerst, die Docomo-Chat-Dialog-API zu verwenden
Ich möchte vorerst eine Docker-Datei erstellen.
Legen Sie das Modul in die Pepper-App
Probieren Sie Cython in kürzester Zeit aus
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird
python3 So installieren Sie ein externes Modul
[Python] [Maschinelles Lernen] Anfänger ohne Wissen versuchen vorerst maschinelles Lernen
MongoDB mit Python zum ersten Mal
Versuchen wir zum ersten Mal Linux
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
Ich möchte die Desktop-Umgebung von Ubuntu vorerst auch unter Android verwenden (Termux-Version - japanische Eingabe in der Desktop-Umgebung).
Wechseln Sie das zu ladende Modul für jede Ausführungsumgebung in Python
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte die Ergebnisse von% time, %% time usw. in einem Objekt (Variable) speichern.
Versuchen Sie, dem Bild die Verzerrung des Fischaugenobjektivs hinzuzufügen
So verwenden Sie MkDocs zum ersten Mal
Importieren Sie sie vorerst in jupyter
Machen Sie vorerst ein Histogramm (matplotlib)
Führen Sie yolov4 "vorerst" in Windows aus
Ich habe vorerst mit Floydhub gespielt
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Verspotten Sie HTTP-Anforderungen über das Anforderungsmodul in Antworten
virtualenv Das ist vorerst alles!
Schreiben Sie dies vorerst in die ttl-Datei für die automatische SSH-Anmeldung mit Teraterm
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Führen Sie es vorerst mit CentOS7 + Apache2.4 + Python3.6 aus
Registrieren Sie zum ersten Mal eine Aufgabe in cron
Schreiben Sie Daten mit dem Python-Anforderungsmodul in KINTONE
Versuchen Sie vorerst, Arch Linux zu installieren.
Versuchen Sie, die in Firefox gespeicherten Anmeldedaten zu entschlüsseln
[Für Anfänger] Ich möchte die Anzahl der Lernerfahrungen leicht verständlich erklären.
So berechnen Sie die Summe oder den Durchschnitt von Zeitreihen-CSV-Daten in einem Augenblick
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)
Ich möchte vorerst Ubuntus Desktop-Umgebung auf Android verwenden (UserLAnd-Version)
Eine einfache Möglichkeit, die in Python benötigte Zeit anzuzeigen und sie intelligenter zu verbessern
Testcode, um auf der Seite nach defekten Links zu suchen
Ich habe vorerst versucht, PIFuHD unter Windows auszuführen
Zusammenfassung der Stolperpunkte in Django zum ersten Mal
So manipulieren Sie das DOM im Iframe mit Selen
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Versuchen Sie, die in COTOHA beliebten Schlüsselwörter zu extrahieren
Eine Einführung in die moderne Socket-API zum Erlernen in C.
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Die Geschichte, zum ersten Mal seit 5 Jahren wieder an die Front zurückzukehren und Python Django umzugestalten
Wenn Sie neu in der Programmierung sind, warum machen Sie nicht vorerst ein "Spiel"? Die Geschichte