Ankündigung

Einklappen
Keine Ankündigung bisher.

MVG (München) Fahrplandaten einlesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    MVG (München) Fahrplandaten einlesen

    Hallo zusammen,

    hat jemand aus dem Münchner Raum schon mal versucht Daten bei der MVG auszulesen. Es scheint ne API zu geben...
    HIer wurde schon was in der Art umgesetzt. https://pypi.org/project/mvg-api/

    Wäre über Infos dakbar.

    Gruß
    Robert


    #2
    Bin schon etwas weiter. Nun habe ich diesen Json String ausgegeben, ich schaffe ihn nur nicht passend zu zerlegen. Kann mir hier jemand Tips geben?
    Hier sind die nächsten 10 Züge hintereinander, daher ist mir nicht klar welches Json LBS ist nutzen muss.

    {"servingLines":[{"destination":"M\u00fcnchner Freiheit","sev":false,"partialNet":"swm","product" :"TRAM","lineNumber":"23","divaId":"02023"}],"departures":[{"departureTime":1578603840000,"product":"TRAM","l abel":"23","destination":"Schwabing Nord","live":false,"delay":0,"cancelled":false,"li neBackgroundColor":"#ea4029","departureId":"70cf26 e088067383a2a59494095f06e0#1578603840000#de:09162: 988","sev":false,"platform":""},{"departureTime":1 578604020000,"product":"TRAM","label":"23","destin ation":"M\u00fcnchner Freiheit U","live":false,"delay":0,"cancelled":false,"lineB ackgroundColor":"#ea4029","departureId":"77b67ee58 c10a6d72d88ea0b2b2b82b4#1578604020000#de:09162:988 ","sev":false,"platform":""},{"departureTime":1578 604440000,"product":"TRAM","label":"23","destinati on":"Schwabing Nord","live":false,"delay":0,"cancelled":false,"li neBackgroundColor":"#ea4029","departureId":"258365 ccf9ae8045daca56f8fd06553b#1578604440000#de:09162: 988","sev":false,"platform":""},{"departureTime":1 578605220000,"product":"TRAM","label":"23","destin ation":"M\u00fcnchner Freiheit U","live":false,"delay":0,"cancelled":false,"lineB ackgroundColor":"#ea4029","departureId":"308a5ebf8 eddb940241eac3c6d04477b#1578605220000#de:09162:988 ","sev":false,"platform":""},{"departureTime":1578 605640000,"product":"TRAM","label":"23","destinati on":"Schwabing Nord","live":false,"delay":0,"cancelled":false,"li neBackgroundColor":"#ea4029","departureId":"a9920f f8586ec1807773bd13dd066b5d#1578605640000#de:09162: 988","sev":false,"platform":""},{"departureTime":1 578606420000,"product":"TRAM","label":"23","destin ation":"M\u00fcnchner Freiheit U","live":false,"delay":0,"cancelled":false,"lineB ackgroundColor":"#ea4029","departureId":"b4e100193 d0a4b6ed62783d26dc85bf7#1578606420000#de:09162:988 ","sev":false,"platform":""},{"departureTime":1578 606840000,"product":"TRAM","label":"23","destinati on":"Schwabing Nord","live":false,"delay":0,"cancelled":false,"li neBackgroundColor":"#ea4029","departureId":"ddbc59 5e5324008ba0dbc9d6e777b92a#1578606840000#de:09162: 988","sev":false,"platform":""},{"departureTime":1 578607620000,"product":"TRAM","label":"23","destin ation":"M\u00fcnchner Freiheit U","live":false,"delay":0,"cancelled":false,"lineB ackgroundColor":"#ea4029","departureId":"0ae4c290d 2333861896b1f1dfddc6851#1578607620000#de:09162:988 ","sev":false,"platform":""},{"departureTime":1578 608040000,"product":"TRAM","label":"23","destinati on":"Schwabing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"28dd0b87b2a96781 d28796c07beb694a#1578608040000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786088200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"476bb973a21574af0bc 7811d2e9b3fb9#1578608820000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578609240000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"f13db90ebb485e91 7b46ece6c69698a3#1578609240000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786100200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"c74ac81db877c8910fd 7e972563a0f78#1578610020000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578610440000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"90a0ff232ab5b4ad 02bc57f0036a70f2#1578610440000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786112200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"f6327ca0fd4097675d5 77da0ba9b8bcf#1578611220000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578611640000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"f607c565c5d4bdbf 6e47ba8884791f17#1578611640000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786124200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"116640e2728a991a06f 7ada242f7c4c8#1578612420000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578612840000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"5e8e93541df3f9cc 19e14e6186cd973d#1578612840000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786136200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"521cef59b0d41af0273 26d22a3984b0f#1578613620000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578614040000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"c24712bbb0e65ddf a1d98bd5759500b3#1578614040000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786148200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"e0dce0de8cd19c5ad41 9b81a4a89ee16#1578614820000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578615240000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"4610daf7b8e0ec7b 70c87ff5dc7aaa69#1578615240000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786164400 00,"product":"TRAM","label":"23","destination":"Sc hwabing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"73fce4bb4f5b4a05 9d1008dc9f135e54#1578616440000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786167400 00,"product":"TRAM","label":"23","destination":"Sc heidplatz","live":false,"cancelled":false,"lineBac kgroundColor":"#ea4029","departureId":"e385b94acb0 4995abd05e364b30a295a#1578616740000#de:09162:988", "sev":false,"platform":""},{"departureTime":157862 9220000,"product":"TRAM","label":"23","destination ":"M\u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"3fd304cf363a8fea5e3 9c619f3432788#1578629220000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578629640000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"f9cd8b197422d973 66826ed972097eed#1578629640000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786304200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"bd6cbafe9d51ad091f5 c9dc5cd240a8c#1578630420000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578630840000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"57dfd345515b5c76 f28a5e0a910d92be#1578630840000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786316200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"ef11df57c4114154e1b ea5b3d6866796#1578631620000#de:09162:988","sev":fa lse,"platform":""},{"departureTime":1578632040000, "product":"TRAM","label":"23","destination":"Schwa bing Nord","live":false,"cancelled":false,"lineBackgrou ndColor":"#ea4029","departureId":"55ce773749404955 3320aa96f3cfd99a#1578632040000#de:09162:988","sev" :false,"platform":""},{"departureTime":15786328200 00,"product":"TRAM","label":"23","destination":"M\ u00fcnchner Freiheit U","live":false,"cancelled":false,"lineBackgroundC olor":"#ea4029","departureId":"f81650ba935c97546e0 a9f1f232b9493#1578632820000#de:09162:988","sev":fa lse,"platform":""}]}
    Zuletzt geändert von jeff25; 09.01.2020, 22:05.

    Kommentar


      #3
      Ohne zu wissen was für dich die passende Zerlegung ist und was du genau extrahieren und darstellen willst, ist es schwierig Tips zu geben.

      Kommentar


        #4
        hi,

        departureTime & Label die wiederholen sich ja mit jedem Zug wieder...

        {
        "departureTime": 1578600240000,
        "product": "TRAM",
        "label": "23",
        "destination": "Schwabing Nord",
        "live": false,
        "delay": 0,
        "cancelled": false,
        "lineBackgroundColor": "#ea4029",
        "departureId": "214bc477e7a2186a0cfa66a527366fda#1578600240000#de :09162:988",
        "sev": false,
        "platform": ""
        },
        {
        "departureTime": 1578600420000,
        "product": "TRAM",
        "label": "23",
        "destination": "Münchner Freiheit U",
        "live": false,
        "delay": 0,
        "cancelled": false,
        "lineBackgroundColor": "#ea4029",
        "departureId": "4e0ca47ad0a24141cb4b23ab82eb875e#1578600420000#de :09162:988",
        "sev": false,
        "platform": ""
        },
        Gruß
        RObert

        Kommentar


          #5
          Das ist mir schon klar, aber das Vorgehen hängt davon ab, ob
          • die Struktur des JSON immer gleich ist oder ob sie dynamisch ist
          • du Elemente auf Basis des Dateninhalts filtern möchtest (z.B. nur Linie 23)
          • du genau weißt, welches Element aus einer Liste du extrahieren willst
          Ich würde mir an deiner Stelle mal JSON Extractor (19001208) und JSON Filter (19001573) LBS anschauen.

          Kommentar


            #6
            So in etwa?
            PHP-Code:
            $arr json_decode($ret,true);

            foreach(
            $arr['departures'] as $y => $x){
                echo 
            "Next</br>";
                echo 
            $x['departureTime']."</br>";
                echo 
            $x['label']."</br>";
                echo 
            $x['destination']."</br>";

            wobei $ret dein json String ist

            Kommentar


              #7
              die Liste ist immer gleich lange. Immer 10 Züge, nur die Ankunftszeiten und so weiter ändern sich.... Und ich will alle 10 Datensätze haben die habe ich vorher schon in der Abfrage beim. Webservice auf meine Station gefiltert.
              Zuletzt geändert von jeff25; 10.01.2020, 08:57.

              Kommentar


                #8
                In dem JSON von oben sind aber 30 Einträge enthalten.

                Aber so ungefähr könntest du die Daten rausziehen:

                json.PNG
                Im ersten JSON Extractor nur die Zahl hinter dem | je Eingang um 1 hochzählen.
                Im zweiten Level wird jeder Extractor exakt gleich konfiguriert, nur der Eingang E1 wird von einem anderen Ausgang des ersten Extractors gespeist.

                Kommentar


                  #9
                  super vielen danke jonofe. Werde ich testen. Fast so hatte ich es schon versucht, mir war nicht klar das ich nach dem | noch die Zahl angeben musste.

                  Kommentar


                    #10
                    Hi jonofe ,

                    konnte erst jetzt testen und es klappt ohne Probleme. Bin happy. Vielen Dankd ir und auch den anderen. Bekomme alle Infos der Münchner MVG angezeigt wie ich es mir wünsche nun.

                    Gruß
                    RObert

                    Kommentar


                      #11
                      Hallo zusammen,

                      kurze Frage, habe schon viel rumprobiert aber noch nichts hinbekommen. Wenn ich eine Ausgabe im UNIX timestamp "1579259820000" mit der aktuellen Zeit vergleichen will und die differenz ausgeben will wie stelle ich das am besten an? Ich habe ein LBS gefunden was das kann, evtl könnte es mit 19000641 aber da müsste ich dann ja Datum + Uhrzeit erst als String zusammenfügen....

                      Gruß
                      Robert

                      Kommentar


                        #12
                        Du könntest den 19000805 PHP Function LBS verwenden.

                        An E2 sowas wie:

                        PHP-Code:
                        time()-$E1 
                        Wenn du dann an E1 deinen Timestamp sendest, dann ist A1 >0 wenn der Timestamp in der Vergangenheit liegt und <0 wenn er in der Zukunft liegt.
                        Übrigens ist dein Wert kein UNIX Timestamp. Ein Unix Timestamp hat in unserer überschaubaren Lebenszeit 10 Stellen (1579259820). Bei dir ist es wohl ein Unix-Timestamp*1000 (Millisekunden). In diesem Fall wäre vermutlich

                        PHP-Code:
                        time()-$E1/1000 
                        die richtige Formel.



                        Kommentar


                          #13
                          Dank dir. Habe ich gerade versucht, bist du sicher das das geht, ich habe das nun eingerichtet manchma steht 1 manchma 136 im Ergebniss... das wären dann ja die sekunden als differenz oder? Dann müsste ich das noch in Minuten umrechnen nimm ich an...

                          Kommentar


                            #14
                            Ja das ist die Differenz in Sekunden. Die sollte jede Sekunde um 1 größer werden.
                            Ob du das in Minuten umrechnen musst, hängt davon ab, was du mit dem Vergleich machen willst.
                            Das kannst du natürlich direkt in der Formel machen:

                            PHP-Code:
                            (time()-$E1/1000)/60 
                            Da kommt dann aber ein Float Wert raus.

                            Kommentar


                              #15
                              super, so habe ich es auch gerade versucht, nun muss ich nur noch schaffen positive Zeiten auszugeben und auch nur die minuten, die Nachkommastellen bringen nicht wirklich was da ich die Datensource auch ur einmal die Minuten anfrage.

                              ps: habe es nun mal mit floor((time()-$E1/1000)/60) versucht. Das scheint zu gehen....
                              Zuletzt geändert von jeff25; 17.01.2020, 14:04.

                              Kommentar

                              Lädt...
                              X