Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen

python-framework.png

Hintergrund

Normalerweise entwickle ich mit Ruby, aber als die Arbeit des Big-Data-Analysesystems zugenommen hat, wurde es notwendig, sich mit Python zu beschäftigen, also zunächst ein System mit einer einfachen API-ähnlichen Rolle und einer leichten Framework-Flasche Ich habe beschlossen, es zu machen.

Verschiedene Gefühle

Es ist wahnsinnig leicht und einfach, so dass Sie nur die guten Teile von Python und die Hauptsprache verwenden können.

Überblick über das, was ich gemacht habe

① Klicken Sie in der Ruby-Anwendung auf die API ② Holen Sie sich die Daten in MySQL mit einer in Python geschriebenen App ③ Berechnen Sie mit Python ④ Geben Sie das Berechnungsergebnis an die Ruby-Anwendung zurück

Implementierung

    1. Erstellen Sie mit virtualenv eine virtuelle Umgebung
pip install virtualenv
virtualenv bottle_sample
cd bottle_sample
source bin/activate
  1. Flascheninstallation
pip install bottle
    1. Daten mit / update aktualisieren

score_calculator.py


# -*- coding: utf-8 -*-
from bottle import route, run
import networkx as nx

db_name = {}
host = {}
username = {}
passwd = {}

@route('/update')
def update
  g = nx.DiGraph()
  import mysql.connector
  connect = mysql.connector.connect(db=db_name, host=host, port=3306, user=username, passwd=passwd)

  cur=connect.cursor()
  cur.execute("select from_user_id,to_user_id from awesome_graph_data)                                                                                      
  rows = cur.fetchall()
  for row in rows:
    if row[0] is not None:
      g.add_node(row[0])
      g.add_node(row[1])
      g.add_edge(row[0],row[1])

    cur.close()
    connect.close()
  pr=nx.pagerank(g,alpha=0.85,personalization=None, max_iter=500)
  
  for id, score in pr.items():
    print id,score #
  return str(pr)

DATENBANK-Host MySQL-Benutzername MySQL-Passwort Ich werde dieses Mal weglassen, aber Sie können es hier in MySQL speichern. Jetzt können Sie den Pagerank aus dem gerichteten Diagramm berechnen und in MySQL speichern. 4. Punktzahl mit / score / {user_id} abrufen

score_calculator.py


@route('/score/<user_id>')
def score
  import mysql.connector
  connect = mysql.connector.connect(db=db_name, host=host, port=3306, user=username, passwd=passwd)

  cur=connect.cursor()
  cur.execute("select score from scoda_data where user_id = {{user_id}}")                                                                                      
  score = cur.fetchall()
  return score

Jetzt können Sie die Punktzahl einer bestimmten Benutzer-ID abrufen.

Zusammenfassung

Mit Python + Flasche können ganz einfach Anwendungen erstellt werden. Sie können auch einfach eine Ansichtsdatei erstellen, um eine Web-Ergänzung zu erstellen.

Ich fand es interessant, mit verschiedenen Berechnungen auszugehen, die nicht mit Rubin kompatibel waren.

Recommended Posts

Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Ich habe eine Web-API erstellt
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich möchte ein Spiel mit Python machen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Ich habe eine Burgsuch-API mit Elasticsearch + Sudachi + Go + Echo erstellt
Ein Anfänger des maschinellen Lernens versuchte, mit Python ein Vorhersagemodell für Pferderennen zu erstellen
Machen Sie eine Lotterie mit Python
Was ist Gott? Erstelle einen einfachen Chatbot mit Python
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
[Mac] Ich möchte einen einfachen HTTP-Server erstellen, auf dem CGI mit Python ausgeführt wird
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Die erste API, die mit dem Python Djnago REST-Framework erstellt wurde
Experimentieren Sie mit Python, um ein PDF für Selbstversorger für Kindle zu erstellen
Wie man ein einfaches Flappy Bird-Spiel mit Pygame macht
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Ich habe mit PyQt einen einfachen Texteditor erstellt
Lassen Sie uns eine GUI mit Python erstellen.
Erstellen Sie ein Empfehlungssystem mit Python
Lassen Sie uns ein Diagramm mit Python erstellen! !!
[1 Stunde Herausforderung] Ich habe versucht, eine Wahrsagerseite zu erstellen, die für Python zu geeignet ist
Ich habe versucht, eine RESTful-API zu erstellen, indem ich die explosive Fast-API des Python-Frameworks mit MySQL verbunden habe.
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Eine Geschichte über das Hinzufügen einer REST-API zu einem mit Python erstellten Daemon
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
Erstellen Sie mit Python und OpenCV ein einfaches OMR (Mark Sheet Reader)
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Stellen Sie eine Anfrage von der Gerätefarm (Appium Python) an das API-Gateway
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
[Python] Einfaches Japanisch ⇒ Ich habe versucht, ein englisches Übersetzungswerkzeug zu erstellen
Ich habe versucht, Jojo mit LSTM ein seltsames Zitat zu machen
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen