Seite 1 von 1
Mit Website-Informationen Kalender ändern
Verfasst: Freitag 24. Januar 2014, 19:43
von _nohtyp_
Da sich in der Schule dauernd die Stunden ändern, wollte ich ein Programm schreiben, was diese Änderungen in meinen Kalender einträgt.
Es soll also den Quelltext der Vertretungsplan-Seite nach meiner Klasse durchsuchen und die dort stehenden Änderungen in meinen Google-Kalender o.ä. schreiben.
Der Quelltext ist ungefähr auf folgende Weise aufgebaut:
Code: Alles auswählen
<klasse>10</klasse>
<fach>Inf</fach>
<stunde>1</stunde>
<info>statt Ma</info>
<klasse>11</klasse>
...
Dabei kann die Klasse 10 mehrmals auftreten, mit jeweils unterschiedlichen Änderungen.
Ist Python dafür ein geeignetes Mittel? Und wenn ja, wie kann ich meine Idee umsetzen?
Re: Mit Website-Informationen Kalender ändern
Verfasst: Freitag 24. Januar 2014, 19:51
von BlackJack
@_nohtyp_: Das sollte mit Python machbar sein.
So sieht tatsächlich der Quelltext der Vertretungsplan-Seite aus? Das ist kein HTML. Oder ist das keine Webseite sondern eine XML-Datei die man herunterladen kann?
Egal ob HTML oder XML, parsen kann man beides mit `lxml`.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Freitag 24. Januar 2014, 19:56
von _nohtyp_
Ich habe gerade nachgeschaut. Du hast Recht, es ist XML.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 12:25
von _nohtyp_
Ok, ich weiß jetzt erstmal, wie ich an die Daten komme (getElementsByTagName usw.) Der schwierige Teil kommt jetzt.
Wie greife ich auf meinen Google-Kalender zu und schaue, ob die Änderungen mich betreffen, und wenn ja, wie ich diese automatisch ändere.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 17:21
von _nohtyp_
Bis jetzt wird mir jede Klasse mit den Änderungen gezeigt. Ich will aber nur Klasse 10 sehen, also <klasse>10</klasse>. Wie kann ich das umsetzten, also auf den Inhalt zwischen dem Tag zugreifen?
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 18:09
von BlackJack
@_nohtyp_: So ganz allgemein: Zum Beispiel mit einem XPath nur die Elemente auswählen die Du haben möchtest.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 18:37
von _nohtyp_
Kann ich Xpath mit Dom verwenden?
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 18:41
von BlackJack
@_nohtyp_: Kann man DOM verwenden ist wohl eher die Frage.

Oder: Warum will man das verwenden? Wenn ich eklige APIs will dann benutze ich Java. Und selbst da gibt es schöne Alternativen zu DOM.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Samstag 25. Januar 2014, 19:37
von Sirius3
@_nohtyp_: Was BlackJack sagen will, ist, daß für Python »ElementTree« gerne in Zusammenhang mit XML verwendet wird. Ich würde zuerst den Inhalt in eine Python-Struktur überführen, die dann einfach nach »klasse« gefiltert werden kann.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Sonntag 26. Januar 2014, 20:05
von _nohtyp_
Danke für die Tipps. Mein Programm läuft soweit.
Wie kann ich nun auf den Google Kalender zugreifen? Kann jemand einen kleinen Sample-Code posten?
Wäre echt super.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Sonntag 26. Januar 2014, 20:19
von BlackJack
@_nohtyp_: Ist die Suche nach der Dokumentation von Google echt so schwer:
https://developers.google.com/google-apps/calendar/
Re: Mit Website-Informationen Kalender ändern
Verfasst: Montag 27. Januar 2014, 16:55
von _nohtyp_
Ehrlich gesagt ja. Ich blicke da nicht durch. Ich schaffe es nicht mal die Kalender-Module zu importieren.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Montag 27. Januar 2014, 18:32
von _nohtyp_
Kann ich mit Python auf CalDAV zugreifen. Wäre vielleicht eine Alternative.
Re: Mit Website-Informationen Kalender ändern
Verfasst: Montag 27. Januar 2014, 19:00
von BlackJack
@_nohtyp_: Es gibt im „Python package index” zumindest Module zu CalDAV und ICalendar:
https://pypi.python.org/pypi/caldav und
https://pypi.python.org/pypi/icalendar
Re: Mit Website-Informationen Kalender ändern
Verfasst: Dienstag 28. Januar 2014, 20:28
von _nohtyp_
Mein Programm ist jetzt annähernd fertig. Ich danke allen Antworten. Eure Anregungen waren mir eine große Hilfe, auf manches wäre ich sonst einfach nicht gekommen.

nohtyp