Mehrere APIs gleichzeit anzapfen und Daten verarbeiten

Du hast eine Idee für ein Projekt?
Antworten
LMintUser
User
Beiträge: 9
Registriert: Freitag 8. November 2019, 21:22

Ich bin leider kompletter Python Neuling habe aber schon vertiefte JAVA Kenntnisse. Ich möchte ein Python Skript schreiben welches von verschiedenen Kryptobörsen die Orderbücher (bid und ask) bezieht und dann vergleicht ob sich aufgrund des Spreads zwischen den Börsen interessanten Handelskonstelationen ergeben könnten.

Code: Alles auswählen

import requests
print ("hier kommt eine Ausgabe")
r = requests.get('https://api.hitbtc.com/api/2/public/orderbook/ETHUSD')
m = requests.get('https://api.kraken.com/0/public/Depth?pair=ETHEUR')
print (r.text)
print (m.text)
Hab jetzt schon mal mit der ersten Library angefangen rum zu spielen aber eigentlich möchte ich das am liebsten irgendwie parallelisieren. In Java hatte ich das mit einer Notlösung mit mehreren Threads gemacht. Ich denke aber am effektivsten wäre das auf Netzwerkebene .... Hab etwas gegoogelt:

https://hackernoon.com/how-to-run-async ... 64dc0f8546

Der Author weist ja auf "aiohttp" hin hat damit hier jemand Erfahrung?
https://docs.aiohttp.org/en/stable/cli ... tart.html

In Java hatte ich die api Adressen und die Ausgaben in array Listen gespeichert gehabt. Wie sollte ich das am besten in Python realisieren? Vielleicht auch wieder als JSON ausgeben also möchte ja diese Abfragen sammeln, aufbereiten und später mal mit einem Tool auslesen (vielleicht lassen sich auf Grundlage der Daten auch interessante Erkenntnisse gewinnen z.B. welcher Handelsplatz tendenziell die niedrigsten Preise etc. hat). Alles aber der Reihe nach denn im ersten Schritt geht es ja ums effiziente mining der Daten.
LMintUser
User
Beiträge: 9
Registriert: Freitag 8. November 2019, 21:22

Ich war gestern schon etwas müde aber dieser Lösungsansatz scheint mir für mein erstes Problem recht viel versprechend:

https://skipperkongen.dk/2016/09/09/ea ... -asyncio/

Zumindest wenn es erst mal um den Bezug der Daten über mehrere APIs geht. Wie ich danach am besten weiter verfahre darüber muss ich mir noch Gedanken machen. :mrgreen:
Antworten