Aktienkurse abfragen und per Anruf benachrichtigt werden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
__blackjack__
User
Beiträge: 1448
Registriert: Samstag 2. Juni 2018, 10:21

Donnerstag 16. August 2018, 16:27

Ich habe mir da mal den Netzwerk-Reiter im Browser angeschaut und es wird ein Websocket zu https://mdsngpush.finanzen.net/socket.i ... 338bec9ec4 aufgemacht. Ich vermute darüber kommen die Daten rein und werden dann per JavaScript verarbeitet/aktualisiert.

Code: Alles auswählen

    **** COMMODORE 64 BASIC V2 ****
 64K RAM SYSTEM  38911 BASIC BYTES FREE
   CYBERPUNX RETRO REPLAY 64KB - 3.8P
READY.
█
MuMPiTz
User
Beiträge: 25
Registriert: Freitag 27. Juli 2018, 15:07

Donnerstag 16. August 2018, 20:18

Danke allerseits! Tut mir leid, dass vieles von dem was ich sage, nicht besonders sinnvoll ist, ich wollte eigentlich erst das Tutorial durcharbeiten, war aber zeitlich nun gezwungen, mich selbst mit der Sache ein wenig zu beschäftigen, einfach damit der Kollege meines Onkels weiß, worum es geht. Naja, wie dem auch sei...
Ich würde aber die Frage von __deets__ gerne noch mal wiederholen: Warum aus einer Webseite kratzen wenn Du schon eine API hast die das als JSON liefert?
Ich hab nur einfach null Ahnung von der Materie, das ist alles. Offenbar ist es mit JSON (ich weiß nicht mal was das ist :D) sehr viel leichter!
import requests
url = 'https://api.coindesk.com/v1/bpi/currentprice.json'
r = requests.get(url, headers={'Accept': 'application/json'})
print(r.json()['bpi']['USD']['rate'])
Der code funktioniert immerhin schon mal, allerdings updated das nur 1x pro Minute, da brauch ich wohl etwas anderes, aber immerhin schon mal ein Anfang :)

@pixewakb:

Danke auch dir, ich schätze da bin ich noch weit von entfernt, also wenn du es nicht hin bekommst, brauch ich es gar nicht erst versuchen, aber vielleicht werde ich mich zu gegebener Zeit damit beschäftigen
__deets__
User
Beiträge: 3713
Registriert: Mittwoch 14. Oktober 2015, 14:29

Donnerstag 16. August 2018, 21:30

Wenn du Kurse schneller als einmal pro Minute benötigst, bist du im Lande der kommerziellen Möglichkeiten. Da wirst du Geld für in die Hand nehmen müssen. Zumindest für normale Kurse. Bei Crypto funktioniert ja sogar noch arbitrage zwischen verschiedenen Börsen, da spielt Zeit doch keine Rolle.
MuMPiTz
User
Beiträge: 25
Registriert: Freitag 27. Juli 2018, 15:07

Donnerstag 16. August 2018, 22:15

__deets__ hat geschrieben:
Donnerstag 16. August 2018, 21:30
Wenn du Kurse schneller als einmal pro Minute benötigst, bist du im Lande der kommerziellen Möglichkeiten. Da wirst du Geld für in die Hand nehmen müssen. Zumindest für normale Kurse. Bei Crypto funktioniert ja sogar noch arbitrage zwischen verschiedenen Börsen, da spielt Zeit doch keine Rolle.
ich hab noch ne API gefunden die den Kurs als JSON liefert und alle 5 Sekunden updated, also kostenlos. Ich suche gerade nach Möglichkeiten, per SMS oder Anruf kontaktiert zu werden, wobei SMS wohl billiger ist und das würde es auch tun. Twilio wird oft genannt, müsste da aber erst meine Identität verifizieren lassen und so Zeug. Kennt jemand ne gute Alternative? :)
Benutzeravatar
pixewakb
User
Beiträge: 1125
Registriert: Sonntag 24. April 2011, 19:43

Donnerstag 16. August 2018, 22:34

E-Mail? Mit der entsprechenden Bibliothek kannst du das kostenlos realisieren und mit einer entsprechenden App auf dem Handy siehst du die Nachricht auch auf dem Handy? Eine Benachrichtigung per SMS oder Anruf erscheint mir da um einiges komplizierter. Für die E-Mail-Lösung findest du zu hauf online Anleitungen...

BTW: @BlackJack: Ich konnte es noch nicht nachvollziehen, aber für meine Seiten werde ich das mit der Entwickler-Konsole mal testen. Ich habe einmal durch Zufall bei einer Seite bei deaktiviertem JS die Quellseite gefunden, die Daten liefert. In den meisten anderen Fällen scrape ich einfache HTML-Tabellen, die Rohdaten bereitstellen. Mit Deinem Beitrag weiß ich nun, wo ich da mal gucken kann.
MuMPiTz
User
Beiträge: 25
Registriert: Freitag 27. Juli 2018, 15:07

Donnerstag 16. August 2018, 23:02

pixewakb hat geschrieben:
Donnerstag 16. August 2018, 22:34
E-Mail? Mit der entsprechenden Bibliothek kannst du das kostenlos realisieren und mit einer entsprechenden App auf dem Handy siehst du die Nachricht auch auf dem Handy? Eine Benachrichtigung per SMS oder Anruf erscheint mir da um einiges komplizierter. Für die E-Mail-Lösung findest du zu hauf online Anleitungen...
Es gibt ja bereits viele Apps fürs Handy mit Alarm Funktionen, das Problem ist, dass die, wenn das Handy nicht aktiv ist, oft nicht zuverlässig sind, d.h. der Alarm kommt erst irgendwann später. Ich hab mal gelesen, dass der Grund dafür sein könnte, dass wenn das Handy inaktiv ist, eine Art Energiesparmodus die Priorität dieser Apps runtersetzt. Da hätte ich jetzt Angst, dass das mit Email Benachrichtigungen auch ein Problem sein könnte.


Ich habe gerade noch folgendes gefunden:
I was struggling with this for some time and really liked the Twilio option. But then I dug deeper and found that there is a Google Voice API called pygooglevoice that works. Clean, easy... No carrier lookup... For example, set up a virtualenv and install with pip:

pip install pygooglevoice

Then use something like this:

from googlevoice import Voice
from googlevoice.util import input

def send(number, message):
user = 'user@gmail.com'
password = 'password'

voice = Voice()
voice.login(user, password)

#number = input('Number to send message to: ') # use these for command method
#message = input('Message text: ')

voice.send_sms(number, message)
Scheint aber bei mir nicht zu funktionieren. Funktioniert das bei euch?
Benutzeravatar
pixewakb
User
Beiträge: 1125
Registriert: Sonntag 24. April 2011, 19:43

Freitag 17. August 2018, 08:18

Hast Du das mal versucht? https://github.com/pettazz/pygooglevoice

Zum githup-Repo steht da: "Fixed version of pygooglevoice cloned from googlecode project that hasn't been updated since 2009."

Ein Google-Projekt, das seit 2009 nicht mehr gepflegt wird (?), ist keine gute Basis, wenn Du mich fragst. Google hat die Tendenz schon mal Projekte aufzuräumen und die Unterstützung für alte Projekte einzustellen...
MuMPiTz
User
Beiträge: 25
Registriert: Freitag 27. Juli 2018, 15:07

Freitag 17. August 2018, 12:40

Ne, hatte ich nicht gesehen, macht wohl Sinn, dass es deshalb nicht mehr läuft : ( Vielleicht finde ich was anderes.
Mal noch ne Frage: Angenommen das Programm wäre fertig und würde soweit funktionieren, dann würde ich es gerne irgendwo hochladen wo es 24/7 laufen kann. Ein Kollege meinte erst, man müsste da was mieten, dann meinte er, vielleicht würde es mit der lambda Funktion auch kostenlos gehen. Wisst ihr da was?
Benutzeravatar
__blackjack__
User
Beiträge: 1448
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 17. August 2018, 13:13

@MuMPiTz: Wenn es 24/7 laufen soll, muss man es ja nicht zwingend irgendwo hochladen wenn man auch selbst einen Rechner 24/7 laufen lassen kann. So ein Raspberry Pi beispielsweise kostet ja nicht viel.

Was hat denn eine anonyme Funktion damit zu tun? Vielleicht macht's ja auch ``import`` möglich oder ``class``. ;-)

Code: Alles auswählen

    **** COMMODORE 64 BASIC V2 ****
 64K RAM SYSTEM  38911 BASIC BYTES FREE
   CYBERPUNX RETRO REPLAY 64KB - 3.8P
READY.
█
Tholo
User
Beiträge: 95
Registriert: Sonntag 7. Januar 2018, 20:36

Freitag 17. August 2018, 14:18

Aus eigener Erfahrung und ähnlichem Antrieb beschäftige ich mich mit der Thematik auch.
Deswegen kann ich dir als Beispiel https://github.com/ccxt/ccxt nennen. Die API´s selbst sind je nach Exchange oder Seite sehr unterschiedlich. Das versucht CCXT zu Vereinheitlichen. Leicht gemacht is das bei weiten nicht
Benutzeravatar
ThomasL
User
Beiträge: 385
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Freitag 17. August 2018, 14:39

MuMPiTz hat geschrieben:
Freitag 17. August 2018, 12:40
.....meinte er, vielleicht würde es mit der lambda Funktion auch kostenlos gehen. Wisst ihr da was?
https://aws.amazon.com/de/lambda/
Mit AWS Lambda können Sie Code ausführen, ohne Server bereitstellen und verwalten zu müssen. Sie bezahlen nur für die Rechenzeit, die Sie verbrauchen – es entstehen keine Kosten, wenn Ihr Code nicht ausgeführt wird.
Mit Lambda können Sie Code für fast jede Anwendungsart oder jeden Back-End-Service ausführen, und zwar ohne Administration. Laden Sie Ihren Code einfach hoch und Lambda übernimmt alles, was zum Ausführen und Skalieren Ihres Codes für hohe Verfügbarkeit erforderlich ist. Sie können Ihren Code so einrichten, dass er automatisch von anderen AWS-Services ausgelöst wird, oder ihn indirekt von einer beliebigen Web- oder Mobil-App aufrufen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
__deets__
User
Beiträge: 3713
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 17. August 2018, 14:54

Na zum ersten ist das nicht kostenlos, und zweitens bringt es ja nicht wirklich etwas, weil die Ereignisquellen von AWS kommen muessen, nicht von beliebigen Leuten, die gerade Tesla short-sellen oder HODL bruellen.
Sirius3
User
Beiträge: 8611
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 17. August 2018, 14:55

Mit Lambda-Funktion ist wahrscheinlich Amazon Lambda gemeint.

@MuMPiTz: Da du quasi sekündliche Aktualisierungen willst, wird das wahrscheinlich nicht billiger als eine kleine VM.
MuMPiTz
User
Beiträge: 25
Registriert: Freitag 27. Juli 2018, 15:07

Freitag 17. August 2018, 21:07

__blackjack__ hat geschrieben:
Freitag 17. August 2018, 13:13
@MuMPiTz: Wenn es 24/7 laufen soll, muss man es ja nicht zwingend irgendwo hochladen wenn man auch selbst einen Rechner 24/7 laufen lassen kann. So ein Raspberry Pi beispielsweise kostet ja nicht viel.
Interessant, wusste bis eben nicht mal was ein Raspberry ist. Ja, so wie das aussieht wäre das eine gute Idee :)

@Tholo: Danke! schaus mir an!
@Thomas: Ahhh.. okay hab ich wohl falsch verstanden ;)
@MuMPiTz: Da du quasi sekündliche Aktualisierungen willst, wird das wahrscheinlich nicht billiger als eine kleine VM.
kleine VM = Raspberry ?
Antworten