rolfrost: Nur für Forumsüchtige...

hi,

untenstehendes Script testet ob sich die Forumshauptdatei in der Länge ändert. Die Ausgabe erfolgt auf der Console. Es könnte auch als Cron installiert werden und Weiteres tun...

Viel Spass damit.
=scr
#!/usr/bin/perl
###########################################################################

Script checkt ob sich eine URL aendert

Dabei wird die Laenge geprueft

Die Daten werden in DB_File zwischengespeichert

###########################################################################

URL

my $url = 'http://forum.de.selfhtml.org';

DB_File

my $dbfile = '/tmp/urlstat';
###########################################################################
use LWP::Simple;
use strict;
use DB_File;

my $length = length(get($url)); # current length
my $old_length; # declare...

my %data;

hash an dbfile binden, Lesen und Schreiben

tie(%data, 'DB_File', $dbfile, O_RDWR|O_CREAT, 0644) or die "Can't tie %data with file $dbfile";

check status

if( not exists $data{$url} ){
 $data{$url} = $length;
 print "URL $url Checked IN\n";
}
else{
 $old_length = $data{$url};
}

check the outcome

if( $length ne $old_length ){
 print "The URL $url has been changed!\n";
 $data{$url} = $length;
}
else{
 print "No Changes at $url since Check IN\n";
}

untie %data;
<STDIN>;
exit;
###########################################################################

=cut

Siehe auch
http://i-netlab.de/cgi-bin/index.cgi?vi=DB_File
... ein kleiner Artikel zu Berkeley - DBs

Viele Grüße, Rolf

--
SELFforum - Das Tor zur Welt!
Theoretiker: Wie kommt das Kupfer in die Leitung?
Praktiker: Wie kommt der Strom in die Leitung?
  1. Hallo,

    Du scheinst ja PERL zu können.

    Kannst Du da nicht mal nen Schnellkurs geben?
    Das könnte dann der längste Thread von Self werden *gg*

    Grüße

    Tom

  2. hi

    untenstehendes Script testet ob sich die Forumshauptdatei in der Länge ändert. Die Ausgabe erfolgt auf der Console. Es könnte auch als Cron installiert werden und Weiteres tun...

    die frage die sich mir dabei aufdrängt ist, wieviel traffic das script verursacht. ich verstehe rein garnichts von perl (hab nicht mal "Hallo Welt" hinbekommen ;)), darum verstehe ich natürlich auch nciht wie dieses script funktioniert.

    aber cih vermute mal das es sich jedesmal die Forumshauptdatei holt und schaut wie lang sie ist und dann mit einem gespeicherten wert vergleicht.
    dabei wird jedesmal traffic erzeugt...vieleicht nicht unnötig, aber sowas in der richtung. und grade wenn es als cronjob irgendwo läuft und in regelmäßigen abständen nachfragt summiert sich das doch.
    manuelle ist man da imho nicht ganz so gründlich :).

    wenn ich dich richtig verstanden habe gibt das sctipt bescheid wenn sich was geändert hat (dürfte ja fast alle 20-30 sekunden sein ;))...und dann muß ich die Forumshauptdatei nochmal extra laden...erzeugt doch doppelt traffic, oder?

    nichts für ungut, ich mag die idee, waren nur ein paar gedanken die mir am frühen morgen dazu durch den kopf gingen :)

    so long
    ole
    (8-)>

    1. hi Ole,

      untenstehendes Script testet ob sich die Forumshauptdatei in der Länge ändert. Die Ausgabe erfolgt auf der Console. Es könnte auch als Cron installiert werden und Weiteres tun...

      die frage die sich mir dabei aufdrängt ist, wieviel traffic das script verursacht. ich verstehe rein garnichts von perl (hab nicht mal "Hallo Welt" hinbekommen ;)), darum verstehe ich natürlich auch nciht wie dieses script funktioniert.

      Das Script macht genau dasselbe wie ein Browser: es macht ein download der Datei im web.

      aber cih vermute mal das es sich jedesmal die Forumshauptdatei holt und schaut wie lang sie ist und dann mit einem gespeicherten wert vergleicht.
      dabei wird jedesmal traffic erzeugt...vieleicht nicht unnötig, aber sowas in der richtung. und grade wenn es als cronjob irgendwo läuft und in regelmäßigen abständen nachfragt summiert sich das doch.
      manuelle ist man da imho nicht ganz so gründlich :).

      Richtig ;-) Mit nem Script kann das Download automatisert werden.

      wenn ich dich richtig verstanden habe gibt das sctipt bescheid wenn sich was geändert hat (dürfte ja fast alle 20-30 sekunden sein ;))...und dann muß ich die Forumshauptdatei nochmal extra laden...erzeugt doch doppelt traffic, oder?

      Es ist, so wie ich das scr gepostet habe keine Zeitsteuerung eingebaut. Ein Reload im Browser bewirkt dasselbe wie der Aufruf dieses Scipts.

      nichts für ungut, ich mag die idee, waren nur ein paar gedanken die mir am frühen morgen dazu durch den kopf gingen :)

      Noch besser wäre es, wenn das Script checken würde ob auf ein eigenes Posting Antworten kommen... eine Aufgabe für lange Winterabende?

      Viele Grüße, Rolf

      --
      SELFforum - Das Tor zur Welt!
      Theoretiker: Wie kommt das Kupfer in die Leitung?
      Praktiker: Wie kommt der Strom in die Leitung?
    2. Hallo,

      die frage die sich mir dabei aufdrängt ist, wieviel traffic das script verursacht. ich verstehe rein garnichts von perl (hab nicht mal "Hallo Welt" hinbekommen ;)), darum verstehe ich natürlich auch nciht wie dieses script funktioniert.

      aber cih vermute mal das es sich jedesmal die Forumshauptdatei holt und schaut wie lang sie ist und dann mit einem gespeicherten wert vergleicht.

      Genau, würde es nicht reichen, einer HEAD-Anfrage zu machen?

      Grüße

      Tom

      1. Genau, würde es nicht reichen, einer HEAD-Anfrage zu machen?

        Das wollte ich auch grad sagen, funktioniert halt nicht immer, aber in dem Falle sollte man es zumindest probieren und evtl. anwenden.

        Struppi.

        1. Hallo Struppi,

          Das wollte ich auch grad sagen, funktioniert halt nicht immer, aber in dem Falle sollte man es zumindest probieren und evtl. anwenden.

          Jepp, so sehe ich das auch, man könnte es so machen, wie es hier beschrieben ist:
          http://www.thomas-fahle.de/pub/perl/LWP/HTTP/HTTP_Head.html

          Nur meine 2ml Senf
          Torsten

          1. hi Torsten,

            Das wollte ich auch grad sagen, funktioniert halt nicht immer, aber in dem Falle sollte man es zumindest probieren und evtl. anwenden.

            Jepp, so sehe ich das auch, man könnte es so machen, wie es hier beschrieben ist:
            http://www.thomas-fahle.de/pub/perl/LWP/HTTP/HTTP_Head.html

            Jes, der Häder reicht auch, hier isser:

            HTTP/1.1 200 OK
            Cache-Control: public, max-age=60
            Connection: close
            Date: Thu, 30 Oct 2003 10:41:07 GMT
            Server: Apache
            Vary: Accept-Encoding
            Content-Type: text/html; charset=ISO-8859-15
            Content-Type: text/html; charset=ISO-8859-15
            Expires: Thu, 30 Oct 2003 10:42:07 GMT
            Last-Modified: Thu, 30 Oct 2003 10:39:34 GMT
            Client-Date: Thu, 30 Oct 2003 10:41:15 GMT
            Client-Peer: 213.139.94.131:80
            Link: http://selfhtml.teamone.de/; /="/"; rel="contents"; title="SELFHTML"
            Title: SELFHTML Forum
            X-Meta-Robots: noindex,noarchive,nofollow

            Und da wir Content-Length net haben, nehmen wir Last-Modified.
            Geht auch für einzelne Threads, like
            http://forum.de.selfhtml.org/?t=61958&m=349814

            um zu sehen ob sich da was tut ;-)

            Viele Grüße, rolf

            --
            SELFforum - Das Tor zur Welt!
            Theoretiker: Wie kommt das Kupfer in die Leitung?
            Praktiker: Wie kommt der Strom in die Leitung?
      2. Hallo Tom,

        aber cih vermute mal das es sich jedesmal die
        Forumshauptdatei holt und schaut wie lang sie ist und
        dann mit einem gespeicherten wert vergleicht.

        Genau, würde es nicht reichen, einer HEAD-Anfrage zu machen?

        Nein. HEAD bei CGI-Programmen funktioniert nicht so recht. Aber
        ein Conditional Get. Das Forum antwortet mit '304 Not Modified',
        wenn keine neuen Postings seit dem genannten Datum aufgetreten
        sind.

        Gruesse,
         CK

        --
        Der Pessimist verbringt seinen Tag damit, darueber nachzudenken, wie er den Wolf von der Tuer abhalten kann. Der Optimist tut so, als saehe er den Wolf nicht, bis er ihm in den Hintern beisst. Der Opportunist laedt den Wolf ins Haus ein und erscheint am naechsten Tag in einem Pelzmantel.
        1. Hi Christian,

          Genau, würde es nicht reichen, einer HEAD-Anfrage zu machen?

          Nein. HEAD bei CGI-Programmen funktioniert nicht so recht. Aber
          ein Conditional Get. Das Forum antwortet mit '304 Not Modified',
          wenn keine neuen Postings seit dem genannten Datum aufgetreten
          sind.

          Ach wie dumm. Das CGI-Programm selbst wurde ja nicht verändert...

          Aber man erweitert ja jeden Tag gerne seinen Horizont.

          Ich würde nebenbei nochmal dafür plädieren, die Thread-Nummer auch vor dem Thread anzuzeigen. Wenn man versucht, einen wiederzufinden, ist es doch mamchmal ziemlich nervig.

          Grüße

          Tom

          1. Hallo Tom,

            Ich würde nebenbei nochmal dafür plädieren, die Thread-Nummer auch vor dem Thread anzuzeigen. Wenn man versucht, einen wiederzufinden, ist es doch mamchmal ziemlich nervig.

            Viel komfortabler als sich Threadnummern zu merken wäre es doch, wenn man Lesezeichen setzen könnte, oder? Mein AddOn kann das: http://zapp.i-networx.de/#lesezeichen_setzen.

            Grüße, Stefan

            1. Hoi.

              Junge, junge, da hat sich's aber einer gegeben...
              Mal sehn, ob die Einarbeitungszeit ebensolang ist, wie die vermutliche Programmierdauer :)

              danke schonmal

              1. Hi,

                Junge, junge, da hat sich's aber einer gegeben...

                Da hast du sicher nicht ganz Unrecht :-)

                Mal sehn, ob die Einarbeitungszeit ebensolang ist, wie die vermutliche Programmierdauer :)

                Den Eindruck, dass es kompliziert und schwer zu bedienen ist, haben offenbar viele und probieren es deshalb gar nicht erst aus. Vielleicht sind meine Beschreibungen auch tatsächlich etwas länglich geraten und nicht so flüssig zu lesen. Aber ich denke, man kann die meisten Funktionen auch entdecken, indem man einfach überall mal draufklickt, ohne vorher viel gelesen zu haben.

                Grüße, Stefan

          2. Hallo,

            Ich würde nebenbei nochmal dafür plädieren, die Thread-Nummer auch vor dem Thread anzuzeigen. Wenn man versucht, einen wiederzufinden, ist es doch mamchmal ziemlich nervig.

            Warum nimmst du nicht ein Browser der User-Stylesheets unterstützt?
            Dann kannst du in deiner CSS-Datei für das Forum die Klasse
            <span class="answers">(11)</span> auch anzeigen lassen, denn die ist ja im Quelltext vorhanden.

            Grüße
            Thomas

            1. Hi,

              Ich würde nebenbei nochmal dafür plädieren, die Thread-Nummer auch vor dem Thread anzuzeigen. Wenn man versucht, einen wiederzufinden, ist es doch mamchmal ziemlich nervig.
              Warum nimmst du nicht ein Browser der User-Stylesheets unterstützt?
              Dann kannst du in deiner CSS-Datei für das Forum die Klasse
              <span class="answers">(11)</span> auch anzeigen lassen, denn die ist ja im Quelltext vorhanden.

              Weil das die Anzahl der Antworten, aber nicht die gewünschte Thread-Nummer ist...
              Wenn, dann müßte das name-Attribut aus

              <li><a onclick="return snap(this);" name="t62032" href="/my/?t=62032&a=close#t62032">

              zur Anzeige gebracht werden...

              cu,
              Andreas

              --
              Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
              http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
              1. Hallo,

                Ich würde nebenbei nochmal dafür plädieren, die Thread-Nummer auch vor dem Thread anzuzeigen. Wenn man versucht, einen wiederzufinden, ist es doch mamchmal ziemlich nervig.
                Warum nimmst du nicht ein Browser der User-Stylesheets unterstützt?

                User-Stylesheets unterstützt doch jeder Browser, da das Serverseitig läuft. (ob der Browser das was in der css-Datei steht auch umsetzt ist natürlich eine andere Frage...)

                Wenn, dann müßte das name-Attribut aus
                <li><a onclick="return snap(this);" name="t62032" href="/my/?t=62032&a=close#t62032">
                zur Anzeige gebracht werden...

                a[onclick="return snap(this);"]:before { content:attr(name); }
                macht das (funktioniert natürlich nur in Opera/Mozilla)
                natürlich kann man statt 'onclick="return snap(this);"' auch was anderes nehmen, aber das funktioniert bei mir immer nicht :-)

                Grüße aus Nürnberg
                Tobias

                --
                Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. hi,

    untenstehendes Script testet ob sich die Forumshauptdatei in der Länge ändert. Die Ausgabe erfolgt auf der Console. Es könnte auch als Cron installiert werden und Weiteres tun...

    Super, danke!
    Wann kommt das Modul, das mir dann eine SMS sendet? ;-))

    Gruß
    Reiner