ifgi-webteam / mensaparser

Mensa Münster Parser in Docker
http://app.uni-muenster.de:9000/docs
MIT License
2 stars 1 forks source link

Parser funktioniert nicht mehr #4

Open m-mohr opened 8 years ago

m-mohr commented 8 years ago

Die Seite des Studentenwerks hat sich geändert. Das Parsing funktioniert nicht mehr.

chk1 commented 8 years ago

habs gemerkt, muss meine Entwicklungsumgebung neu aufsetzen :/

ich schick in den nächsten Tagen mal etwas Doku

christophfriedrich commented 8 years ago

Habe es heute auch gemerkt und gleich an euch gedacht :v: Habe mir die Seite etwas angeschaut, hier mal das, was ich bisher rausgefunden habe :)

Alle schon veröffentlichten Pläne werden jetzt auf einer Seite ausgegeben, die dann so gestylet wird, dass immer nur ein Tag sichtbar ist, z.B. für die Ring-Mensa heute: http://muenster.my-mensa.de/essen.php?v=4894122&hyp=1&lang=de&mensa=ring#ring_tag_2016192

Wenn man einfach http://muenster.my-mensa.de/essen.php?mensa=ring aufruft, werden die fehlenden Parameter automatisch ergänzt und der heutige Tag angezeigt.

Jeder Tag steht in einem <div data-role="page">, der als ID etwas vom Format ring_tag_2016192 hat. Die Tag-ID ist das Jahr + die fortlaufende Nummer des Tages im Jahr (wobei komischerweise das Schaltjahr nicht beachtet wurde -- eigentlich ist heute schon der 193. Tag des Jahres).

Die Essensnamen stehen in h3's, die Preise in <p class="ct next">'s. Die Namen sind mit &shy; ausgestattet, was eigentlich ganz schön ist.

Vielleicht kann man ja aber auch beim Hersteller http://infomax.de/ nachfragen/vom Studentenwerk nachfragen lassen, ob es eine API gibt? Immerhin werden die Daten ja jetzt offenbar in einer Datenbank abgelegt, da wäre es irgendwie unnötige Arbeit, wieder zu parsen...

chk1 commented 8 years ago

Oh ich hatte nicht gesehen, dass da was komplett neues ist... hab mal eine Email geschickt.

hija commented 8 years ago

Falls es eine API gibt oder so, schreibt es gerne in diese Diskussion - das interessiert mich nämlich auch!

chk1 commented 8 years ago

Kleines Update: Das Studentenwerk hat geantwortet und sich positiv dazu geäußert, eine API anzubieten bzw. das Anbieten der Daten in maschinenlesbarer Form. Mir wurden gleich auch ein paar XML-Dateien mitgeschickt, wie sowas aussehen könnte.

Allerdings kann man zur Zeit keine Termine oder Zeitraum nennen, die wollen sich nochmal melden.

hija commented 8 years ago

Dann von mir auch noch ein kleiner Link:

https://fb4-app-blog.uni-muenster.de/2016/07/12/die-neue-mensa-api/

christophfriedrich commented 7 years ago

In der WiWi-App funktioniert die Mensa-API mittlerweile. Wie sieht es bei uns aus? Auf dem WiWi-App-Blog finden sich leider keine konkreten Details - ist der Zugang für jeden ohne weiteres möglich oder muss man einen API-Key (hier möglicherweise: FTP-User + Passwort) vom Studentenwerk bekommen?

hija commented 7 years ago

Hey,

der Zugriff ist ganz einfach per GET Request an den Studentenwerk-Server möglich. API-Key ist meines Wissens nach nicht notwendig und man kann wohl recht unproblematisch an den Link kommen ;)

chk1 commented 7 years ago

Danke, ich werd da mal nachschauen. Nach der Email im Juli kam bei mir bisher nichts weiter.

noerw commented 7 years ago

hier liegen die speisepläne als XML: http://speiseplan.stw-muenster.de/mensa_am_ring.xml

    Available data:

    mensa_aasee.xml
    mensa_am_ring.xml
    mensa_bispinghof.xml
    mensa_da_vinci.xml
    mensa_steinfurt.xml
    bistro_coerdehof.xml
    bistro_denkpause.xml
    bistro_durchblick.xml
    bistro_frieden.xml
    bistro_huefferstift.xml
    bistro_kabu.xml
    bistro_katho.xml
    bistro_oeconomicum.xml

    "Die Dateien werden Mo. - Sa. von 06:01 bis 16:01 Uhr alle 5 Minuten aktualisiert."
christophfriedrich commented 7 years ago

siehe auch: Kommentare hier: https://github.com/fs-geofs/geofsdisplay/commit/bc3775086513f38006bf388572ef47dc7e8eabae

chk1 commented 7 years ago

Ok also ich hab mal ein Python Script gemacht, was die Daten etwas umwandelt, damit man sie auf OpenMensa bereitstellen kann.

Das Script ist im Moment in einem eigenen Repository hier: https://github.com/chk1/stw2openmensa Das Ergebnis der Umwandlung sieht so aus: https://mensa.chrk.de/openmensa/ (diese Daten werden regelmäßig erneuert, Uhrzeiten in UTC)

OpenMensa hat auch eine JSON API für die Essensdaten, die über diese URL erreichbar ist: http://openmensa.org/api/v2/canteens/225/meals

Die Zahl 225 in der URL kann durch eine beliebige hiervon ersetzt werden:

325 Bistro Coerdehof
227 Bistro Denkpause
326 Bistro Durchblick
327 Bistro Frieden
328 Bistro Hüfferstift
329 Bistro KaBu
330 Bistro Katholische Hochschule
331 Bistro Oeconomicum
226 Mensa am Aasee
225 Mensa am Ring
233 Mensa Bispinghof
228 Mensa da Vinci
332 Mensa Steinfurt