Hi Andreas,
Ich besuche versch. Internetseiten immer wieder, um zu sehen, ob es was neues gibt. Das möchte ich automatisieren.
- Gibt es so was fertiges jetzt schon?
ja, gibt es. (Wir haben gerade ein ähnliches kleines Projekt laufen.)
Das entscheidende Problem dabei ist, daß irgendjemand definieren muß, was eine "Änderung" ist.
So etwas syntaktisch zu definieren wäre noch halbwegs einfach (Du könntest Dir den Datei-Inhalt als Maßstab nehmen, oder wahlweise den HTTP-Header "Last-Modified").
Aber was ist mit der Unterscheidung zwischen syntaktischen und semantischen Änderungen? Wenn Du mehrere hundert Seiten zu überwachen hättest, die mit einem gleichartigen Layout gestaltet sind, dann würde Dir eine Änderung dieses Layout ein Änderungssignal für jede dieser Seiten generieren, obwohl sich der eigentliche Inhalt tatsächlich gar nicht geändert hat - was Du aber nur durch "Hinsehen" und "Verstehen" erkennen kannst.
Und diese beiden Dinge lassen sich nur noch dann automatisieren, wenn mit dem Verfasser der Seite eine Übereinkunft darüber besteht, wie innerhalb des ganzen HTML-Layout-Krams die für diese Entscheidung _signifikante_ Information steht und wie sie zuverlässig extrahiert werden kann.
Deine Aufgabe ist für HTML-Dokumente, deren Erzeugung außerhalb Deiner (ggf. auch vertraglichen) Kontrolle liegt, nur näherungsweise lösbar.
Sehr viel sinnvoller wäre es, den Emittenten dieser Information zu bitten, die entsprechenden Informationen in einer zuverlässiger analysierbaren Form bereitzustellen (z. B. als CSV- oder XML-Dokument) - aber gerade dies durchzusetzen ist es ja, was die "Kontrolle" erfordern würde ...
Viele Grüße
Michael
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
=> http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.