Andreas Walter: Autom. Überwachung von Internetseiten (nicht unbed. Browser)

Hallo Forum,

bin auf der Suche nach etwas, dass ich mir nicht vorstellen kann, dass es NICHT gibt. (Habe im ARCHIV gesucht und geGooglet)

Ich besuche versch. Internetseiten immer wieder, um zu sehen, ob es was neues gibt. Das möchte ich automatisieren.

Ich möchte auf meinem PC einen Knopf drucken, dann wird eine Liste von Url's automatisch abgefragt. Es wird verglichen:

  • Stand jetzt
  • Stand das letzte Mal (auf meinem PC festgehalten)
  • Wenn unterschiedlich zeigen/hinweisen oder was
  • Jetziger Stand speichern (für das nächste Mal)

(Es gibt MINDIT (frei), oder kostenpflichtige Dienste, die so was machen - das meine ich nicht - ich will es aufrufen, wann ich will.)

Ich will nur was simples - die Seiten, die ich überwache sind Sport-Vereinsseiten - meistens einfach strukturiert. Ich bin zufrieden, wenn ich nur die HTML Datei vergleiche (und verzichte auf Vergleich von .CSS oder .JS usw. Dateien)

Fragen:

  1. Gibt es so was fertiges jetzt schon?
  2. Wenn nicht, wie könnte man so etwas implementieren?

Danke im voraus

Andreas Walter

  1. Hi,

    • Stand jetzt

    definiere "Stand".

    1. Wenn nicht, wie könnte man so etwas implementieren?

    a) Client programmieren, der eine Liste von URLs anfordert, deren "Stand" ermittelt, mit einem gespeicherten solchen vergleicht und bei Bedarf eine zu definierende Art der Ausgabe durchführt.

    b) Diesen nach zu definierenden Kriterien starten.

    Je nach Komplexität ist das z.B. in Perl pi mal Daumen ein Zehnzeiler.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo

      zuerst oute ich mich als absolute Laie.
      Jetzt darf ich dumme Fragen stellen ;-)

      Definition von "Stand"
      Es geht um die Überwachung von 0815 Vereinsseiten. Wenn die Leute ihre Seite ändern, machen sie es in einer (zu überwachenden) HTML-Datei auf deren Seite. Ich will vergleichen

      • Was jetzt in der Datei ist
      • Was war in der Datei, das letzte Mal, als ich die Datei ansah - und dieser Stand ist ??auf meinen PC??

      a) Client programmieren, der eine Liste von URLs anfordert, deren "Stand" ermittelt, mit einem gespeicherten solchen vergleicht und bei Bedarf eine zu definierende Art der Ausgabe durchführt.

      b) Diesen nach zu definierenden Kriterien starten.

      Je nach Komplexität ist das z.B. in Perl pi mal Daumen ein Zehnzeiler.

      Habe ich es richtig verstanden:

      • Ich brauche Perl auf meinem PC (ich bin der Client oder)
      • Ich schreibe die Lösung in pi mal Daumen 10 Zeilen
      • (Oder ich geh auf der Suche nach Perl Seiten und schau was ich finden kann - ich kann doch nicht der erste sein, der an so was gedacht hat)

      Danke für die bisherige und hoffentlich kommende Infos

      Andreas Walter

      1. Hi,

        Jetzt darf ich dumme Fragen stellen ;-)

        es gibt keine dummen Fragen, nur unzureichende Recherchen ;-)

        Definition von "Stand"
        Es geht um die Überwachung von 0815 Vereinsseiten. [...]

        Nein, das meinte ich nicht. Ich wollte darauf hinaus, dass Du (für Dich selbst) definierst, was zutreffen muss, damit eine Seite als "verändert" erkannt wird.

        Habe ich es richtig verstanden:

        • Ich brauche Perl auf meinem PC (ich bin der Client oder)

        Du bist der Client, ja, bzw. das von Dir geschriebene Programm. Perl ist nicht zwingend nötig, sondern nur ein Beispiel, mit dem das ganze verhältnismäßig leicht geht.

        • Ich schreibe die Lösung in pi mal Daumen 10 Zeilen
        • (Oder ich geh auf der Suche nach Perl Seiten und schau was ich finden kann - ich kann doch nicht der erste sein, der an so was gedacht hat)

        Jupp. Wenn Du zu ersterem tendierst: Breche das Gesamtproblem in Einzelprobleme herunter, die Du dann jedes für sich lösen kannst. Ich behaupte einfach mal, Du wirst jeden einzelnen Punkt anhand des Forumarchivs abarbeiten können.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi Cheatah,

          Danke für die richtungsweisende Antworten.

          Ich gehe die Sache an.

          Andreas Walter

  2. Ich besuche versch. Internetseiten immer wieder, um zu sehen, ob es was neues gibt. Das möchte ich automatisieren.

    Ich möchte auf meinem PC einen Knopf drucken, dann wird eine Liste von Url's automatisch abgefragt. Es wird verglichen:

    Ich habe zwar nicht so eine hochprofessonelle Perl-Lösung anzubieten, aber wenn ich in meinem Mozilla die Lesezeichen-Eigenschaften aufrufe, steht dort unter "Benachrichtigungen":

    "Mozilla wird Sie benachrichtigen, wenn diese sich Site ändert."

    Das ist zwar kein gutes Deutsch, macht aber sicher genau das, was Du haben willst :) Und ich könnte schwören, daß der IE etwas ähnliches mit seinen Favoriten anstellen kann.

    Gruß,
      soenk.e

    1. Hallo Sönke,

      Und ich könnte schwören, daß der IE etwas ähnliches mit seinen Favoriten anstellen kann.

      In IE 6.0 habe ich "Offline verfügbar machen" gerade "entdeckt". Da scheint der Hund begraben zu sein. Vielen Dank - jetzt brauche ich Perl nicht zu lernen ;-)

      Grüße

      Andreas Walter

  3. Hi Andreas,

    Ich besuche versch. Internetseiten immer wieder, um zu sehen, ob es was neues gibt. Das möchte ich automatisieren.

    1. 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.
    1. Hi Micha,

      ja, gibt es. (Wir haben gerade ein ähnliches kleines Projekt laufen.)

      kann man sich das irgendwo ansehen?

      Gruß
      Reiner

      1. Hi Reiner,

        ja, gibt es. (Wir haben gerade ein ähnliches kleines Projekt laufen.)
        kann man sich das irgendwo ansehen?

        ein Kollege von mir hat sich irgend eine Software bestellt (deren Name ich gerade nicht zur Hand habe - ich könnte ihm morgen mal fragen) und versucht, andere Kollegen in deren Bedienung zu schulen (wobei das Problem dieser massenhaften "Fehlsignale" inzwischen sehr bewußt geworden ist).

        Das ganze läuft nicht wesentlich anders als mit Bookmarks in einem Browser, wie schon Netscape 3 das konnte - das Programm kann lediglich die Änderungen schöner visualisieren (eine Art "optisches diff" auf die angezeigte Webseite mit farblichen Hervorhebungen der geänderten Stellen).

        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.
        1. Hi Micha,

          Das ganze läuft nicht wesentlich anders als mit Bookmarks in einem Browser, wie schon Netscape 3 das konnte - das Programm kann lediglich die Änderungen schöner visualisieren (eine Art "optisches diff" auf die angezeigte Webseite mit farblichen Hervorhebungen der geänderten Stellen).

          ich mache ja mit meiner Suche http://netp.ath.cx ähnliche Dinge, d.h. ich prüfe auch auf last_modified, falls es geht.
          Deswegen interessiert mich schon, wie andere Leute ähnliche Algorithmen aufbauen...

          Gruß
          Reiner

          1. Hi Reiner,

            ich mache ja mit meiner Suche http://netp.ath.cx ähnliche Dinge, d.h. ich prüfe auch auf last_modified, falls es geht.

            viel mehr bietet HTTP Dir auch nicht - schon die Entscheidung, ob Du sinnvollerweise GET oder doch HEAD verwendest, hängt davon ab, mit welcher Wahrscheinlichkeit Unterschiede vorliegen und ob Du in diesem Fall dann doch ein GET hinterher schießen würdest ...

            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.
    2. Hi Michael,

      Alles sehr interessant, was Du schreibst! Und ich verstehe es sogar!!  Aber für meinen Zweck "zu hoch"

      Bei den Seiten, die ich im Visier habe, sind es Sport- bzw. Vereinsseiten. Ich gehe davon aus, dass (fast) jede Änderung eine Änderung vom Inhalt her ist. Ich wollte nicht so weit gehen, dass Unterschiede dargestellt werden, sondern nur der Hinweis "xxx hat sich geändert" bringen.

      Deine Aufgabe ist für HTML-Dokumente, deren Erzeugung außerhalb Deiner (ggf. auch vertraglichen) Kontrolle liegt, nur näherungsweise lösbar.

      Ja genau, wobei ich PDF auch überwachen möchte

      Jetzt bin ich aber verwirrt!

      1. Cheatah sagten 10 Zeilen Perl
      2. Sönke sagt gibt es schon in IE (auf Anhieb nicht gefunden) - Mozilla werde ich noch suchen
      3. Du hast ein Projekt am laufen

      Hat mir alles weiter geholfen. Danke

      Andreas Walter

      1. Hi Andreas,

        Jetzt bin ich aber verwirrt!

        1. Cheatah sagten 10 Zeilen Perl
        2. Sönke sagt gibt es schon in IE (auf Anhieb nicht gefunden) - Mozilla werde ich noch suchen
        3. Du hast ein Projekt am laufen

        diesen Schätzungen liegen unterschiedliche Definitionen von "Änderung" bzw. "verstehen" zugrunde.

        Die Lösungen für Variante 1 und 2 liegen mir natürlich auch vor, sind aber für unsere Zwecke unzureichend (eben wegen der potentiellen Fehlsignale - es ändert sich zu oft etwas, das uns nicht 'wirklich interessiert').

        Noch schlimmer wird es übrigens, wenn man eine Seite überwachen will, deren Identität nicht mal mehr durch einen konstanten URL beschrieben werden kann (weil sie serverseitig von einem Lotus-Notes-Server dynamisch generiert wird und einen entsprechend "sichtbar wilden" URL besitzt), sondern nur noch aufgrund eines verbal beschreibbaren Navigationswegs durch eine sich ab und zu ändernde fremde Website ... jaja ...

        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.
  4. Hallo Forum,

    Netscape 6.2 scheint alles zu haben, was ich benötige:

    • automatisch
    • Tage an dem überwacht werden soll - Uhrzeit von bis und wie oft, alles einstellbar
    • versch. Meldungsmöglichkeiten
    • akzeptiert .PDF Dateien (noch nicht getestet, ob es geht)

    IE V6.0 ehe nicht (oder ich steige nicht durch)

    Mozilla habe ich zum Schluss nicht probiert

    Danke

    Andreas Walter