Shopverlauf, Json auslesen und daraus eine Statistik basteln, Abgleich automatisch, Ausgabe HTML

  • Hi! :)


    Ich hätte hier nen Spezialauftrag, der mir sehr am Herzen liegt. Mein Shop kauft so viel an, ich würde gerne den Shopverlauf automatisch auslesen und zu einer Statistik umwandeln lassen. Ausgabe soll am Ende eine HTML Seite auf meiner Homepage sein. Jeder der den (aktuellen) Link hat, kann die Statistik einsehen. Mit einem Filter möchte ich dann zum Beispiel reinschauen, wer hat im letzten Monat oder im letzten Jahr am meisten Stein verkauft und wie viel war es?


    Ich würde für den Anfang mal VB 5000Esk dafür ausgeben wollen.


    Würde mich wirklich freuen, falls jemand von Euch in sowas fit ist. Umsetzung flexibel. Vlt kann es der Server am Ende ja auch iwie verwenden. :) Bis ich mich da jetzt erstmal wieder reingefunden hab, hat es ein anderer programmiert/erstellt. Schneller und besser. ^^


    Danke, Lg <3


    Siehe auch:

  • Hallo zusammen,

    wenngleich wir als Techniker langfristig bestrebt sind, auch etwas derartiges anbieten zu können, ist die Kapazität bei uns mehr als gering, weshalb wir hier vorerst nicht aushelfen können.


    Ich möchte jedoch davor warnen, dieses Vorhaben umzusetzen. Warum: Grundsätzlich bietet das Forum bzw. die Shopverlauf Seite eine Art API Endpunkt, an dem man sich den Shopverlauf abrufen kann. Nicht offiziell, aber irgendwo muss ja auch die aktuelle Seite ihre Daten her bekommen - das ist soweit kein Geheimnis.


    Das Problem ist, dass dieser Endpunkt nur die Authentifizierung über das Forum selbst unterstützt. Das heißt also, um die Daten aus dem Endpunkt abzufragen, muss irgendwo in einem Script Benutzername + Passwort hinterlegt werden. Oder eine extrahierte Foren-Session aus dem eigenen Browser.


    In beiden Fällen erlauben diese Zugangsdaten auf jeden Fall, nicht nur euren Shopverlauf abzufragen, sondern alles mögliche andere zu tun, was ihr mit euren Rechten im Forum so tun könnt. Kommen also die $irgendwo_im_Script hinterlegten Zugangsdaten in falsche Hände oder hat das Script eine Schwachstelle (RCE, SQL Injection, whatever...) in sich, können unbefugte Dritte euren vollen Forenzugriff missbrauchen.



    Sollte jemand Lust dazu haben, im Bereich der Webentwicklung an/auf Terraconia mitzuarbeiten und über die notwendigen Grundkenntisse verfügen (afaik HTML, CSS, PHP, SQL + div. Node.JS Frameworks und npm), kann sich diese Person gerne einfach mal unverbindlich bei uns Technikern melden. Wir freuen uns immer über Unterstützung!


    Viele Grüße

    who

  • Wie die Umsetzung am besten aussieht, weiß ich eben selbst nicht genau. Eine eigene Datenbank mit json Dateien zu füttern, wäre auch eine annehmbare Lösung. Da bin ich flexibel.


    Da es wirklich ein Luxusproblem ist, sehe ich den Server/Technik da auch nicht im Zugzwang. Vlt gibts ja ein Spieler der sich gern bissel Bonus mitnimmt. ^^🍀


    Is auch nich dringend, wär halt cool. :)

  • Ich könnte ein Python Skript schreiben das sich beim Forum authifiztiert und dann das json zurück gibt, dann müsste der Browser nur eine anfrage an einen Flask Server (Eine Bibliothek für Webserver) stellen und dann fragt das Skript bei Terra nach den Daten und gibt das Json an den Browser zurück


    Ich hab zwar keine Ahnung von php und js aber das sollte doch auch wenn das ein Umweg ist.


    (tut mir leid wenn ich nur Blödsinn gelabert habe)

  • Da meine Aussage offensichtlich nicht verstanden wurde: Das geht von Spielerseite her nicht, wenn man es nicht fahrlässig unsicher bauen will.

    Naja, ausser ich geh halt selbst ins Forum, lade die Json Datei herunter und werf die in ne Datenbank, einmal umrühren, abschmecken, Statistik… :/ ^^ Dann brauchts garkein Login. Wenns zu unsicher ist, lassen wir den automatisierten Wert halt weg und arbeiten mit „Stand:“ … da kann dann jeder reinschauen.

  • Ich könnte ein Python Skript schreiben…

    Ich denke wir stellen das mal hinten an, wenn du eine Datenbank aufbauen könntest wäre das super. :S Ich hab leider wenig Erfahrung damit.. vor Jahren mal MySQL aber puuhh… mein Webspace hätte sogar SQLs ungenutzt, wieviel Sinn das macht weiss ich halt nich… (Mit Kanonen auf Spatzen schiessen)


    Wenn ich die Datenbank halt mit json Dateien fütter (Upload?) muss halt auch geprüft werden, was schon abgeglichen wurde und was nicht, sonst stimmts am Ende ja auch nicht.

  • Ich denke wir stellen das mal hinten an, wenn du eine Datenbank aufbauen könntest wäre das super. :S Ich hab leider wenig Erfahrung damit.. vor Jahren mal MySQL aber puuhh… mein Webspace hätte sogar SQLs ungenutzt, wieviel Sinn das macht weiss ich halt nich… (Mit Kanonen auf Spatzen schiessen)


    Wenn ich die Datenbank halt mit json Dateien fütter (Upload?) muss halt auch geprüft werden, was schon abgeglichen wurde und was nicht, sonst stimmts am Ende ja auch nicht.



    Ich arbeite viel mit Sqlite, aber in eine Sql Datenbank zu schreiben müsste kein Problem darstellen. Man könnte ja einfach Einträge mit dem JSON machen wie du schon sagtest.
    Was hast du denn? Webspace, Vps oder doch was anderes?

  • für nen einzelnen JSON Auszug eine Datenbank zu verwenden ist vielleicht etwas überflüssig? Der use-case ist ja nicht viel mehr als eine "schöne" Darstellung der enthaltenen Daten. Imo die sicherste Variante ist einfach einen parser zu schreiben der Shop Daten so aufbereitet wie du sie haben möchtest, dann kann jeder seine eigenen Verlauf nehmen und da rein schmeißen ums in eine filter Darstellung/Statistik/whatever zu verwandeln.

  • Hallo,


    Ausgabe soll am Ende eine HTML Seite auf meiner Homepage sein.

    Um mal kurz nochmal auf deine Anforderungen von so einem Tool einzugehen:
    Du möchtest also ein Tool, was die JSON-Daten, die man hier herunterladen kann, wenn man im Forum eingeloggt ist, in eine HTML-Tabelle überträgt?


    Muss es HTML sein oder reicht auch ein anderes sinnvolles Format? In deinem verlinkten Thread war bereits von CSV die Rede (Comma seperated values = durch Kommas getrennte Werte), das kann sowohl Excel als auch andere Datenverarbeitungen einlesen. Entsprechende Tools gibt es dafür sogar online.


    Excel bietet übrigens sogar direkt eine Möglichkeit, auch JSON-Formatierte Daten direkt zu importieren. Dadurch benötigst du gar keine anderen Zwischenschritte.


    Die größte Frage bleibt hier wohl eher, wie du die Daten aufbereiten möchtest. Wenn es nur um diese Filter geht, können wir diese sicher irgendwann selbst integrieren. Wenn da jemand Erfahrungen in Webentwicklung (genutzt wird hier Bootstrap und VueJS) hat, kann er sich gerne melden, dann geht das entsprechend schneller.


    Viele Grüße Joo

  • Da es eben um eine Menge Einträge geht und ich später mal auf Jahre zurückblicken will, denke ich eben direkt an Datenbank. Ihr werdet denke ich nicht die Shopverläufe aller Spieler auf Lifetime filtern. ^^ Und damit es ausgewählte Spieler transparent haben und ich Wettkämpfe veranstalten und Preisgelder verteilen kann, wäre die Ausgabe oder ein einbetten in Html denke ich das beste. Ähnliches, was zum gleichen Ziel führt, geht natürlich auch.


    Tabellenkalkulation ist es im Prinzip ja, online halt, aber die Tabelle soll am Ende halt riesig werden mit tausenden Posten an Einkauf und Verkauf… Nach der Frage wer Alltime am meisten Stein verkauft hat, kommt die Frage wer hat in Summe (Esk) denn am meisten gekauft? All so Sachen würde ich gern einfach überblicken. Das ganze aufsetzen der =(Summe und dabei eine geordnete Ausgabe, das muss eben alles einmal gemacht werden. Nicht unmöglich, nich zu easy, VB 5k halt. :)

  • Der erste Eintrag ist von 2014-08-11 08:21:15

    Sollte also vom Anfang an fast vollständig sein. Es gab mal ein paar Wochen ohne Shopverlauf, aber die dürftest du gar nicht erlebt haben.


    Ich möchte nicht sagen, dass wir all diese Daten einfach so veröffentlichen wollen, weil das Filtern und Senden von insgesamt 4019235 Einträge in der Tabelle eine gewisse Zeit dauern kann. Aber Filtern und limitieren tun wir schon und die paar Daten mehr sollten in JSON auch nicht die enorme Bandbreite bedeuten.


    Ein einbettbare Tabelle müsstest du selbst hosten, das Einbetten von externen Inhalten wird in der Zwischenzeit von vielen Browsern geblockt. Und sobald du das selbst hostest, ist natürlich nicht sicher gestellt, dass du das Angezeigte irgendwie verändert hast. Daher wäre auch eine händisch erstellte Tabelle hier im Forum genau so aussagekräftig.


    Und mittels Tabellenkalkulation kannst du auch die Summe an Einnahmen von einem bestimmten Spieler erforschen oder alle Verkäufe von Stein zusammenfassen. Excel ist da echt mächtig und mit ein bisschen Übung geht das dann auch ohne irgendwelche Webanwendungen ;) Vielleicht ist der Markt an "Excel-Entwicklern" höher.


    Vielleicht finde ich mal die Woche etwas Zeit für, die PHP-Abfrage um ein Attribut für den Zeitbereich zu erweitern, dann kann man auch im Shopverlauf sich selbst einen längeren Zeitbereich anzeigen lassen.

  • Ooohaaa, bedeutet ich kann echt noch iwie rausfinden, wieviel Stein ich insgesamt schon eingekauft hab und von wem? Das wäre ja meega!


    Erweiterung des Zeitfensters wäre natürlich auch sehr gut! Könntet ihr mir meinen Shopverlauf seit Spielbeginn dann iwie zukommen lassen? Das wäre mal ne aussagekräftige und interessante Tabelle.


    Excel-Entwickler meldet Euch… s gibt en paar Daten. ^^