Webseite auf änderungen abfragen

05/28/2007 20:39 reijin#1
Hi!! :)
Ich habe eine nette idee gehabt: ich will eine webseite auf aktualiesierungen prüfen lassen, und das soll ein programm für mich erledigen.
Ich werde das anhand eines Beispiels erklären:
[Only registered and activated users can see links. Click Here To Register...]
das ist die ausgangs URL. Wenn diese Page mit einem Browser aufruft kommt man zu einem Blog.
Die generierte File (meißt von einem php-script erstellt) soll mit einer Prüfsumme verglichen werden. also im prinzip CRC von "content.html"

Ließe sich das irgendwie realisieren?
habt ihr ne idee? :)

Gruß, reijin

//EDIT//
habe mich entschlossen, das programm zum testen freizugeben. Ideen und tipps gerne gesehen^^ genau so auch Bugreports ;D

[Only registered and activated users can see links. Click Here To Register...]

UPX packed.... and completely in English ^^
05/28/2007 22:57 mr.rattlz#2
Quote:
Originally posted by Reijin@May 28 2007, 20:39
Hi!! :)
Ich habe eine nette idee gehabt: ich will eine webseite auf aktualiesierungen prüfen lassen, und das soll ein programm für mich erledigen.
Ich werde das anhand eines Beispiels erklären:
[Only registered and activated users can see links. Click Here To Register...]
das ist die ausgangs URL. Wenn diese Page mit einem Browser aufruft kommt man zu einem Blog.
Die generierte File (meißt von einem php-script erstellt) soll mit einer Prüfsumme verglichen werden. also im prinzip CRC von "content.html"

Ließe sich das irgendwie realisieren?
habt ihr ne idee? :)

Gruß, reijin
Ja, das lässt sich realisieren, aber das mit der Prüfsumme ist nur nötig, wenn der Inhalt nicht in einer festen Datei liegt, der Inhalt also dynamisch erzeugt wird.
Wenn es aus einer Datei abgerufen wird sollte der Response-Header vom Server das Feld "Last-Modified" beinhalten.
05/29/2007 10:22 reijin#3
hum, stimmt.... Ich bin leider im Moment etwas ratlos, wie ich das angehen soll...
Der Content ist dynamisch wie ein Blog (da verlinkt man ja auch nicht zu ner html-seite oder so...).
Ich habe jetzt folgende vorstellung:
der Browser greift ja auf eine von der index.php generierte HTML seite zu - oder?
Nur wie bringe ich das meinem Programm bei.... dass die generierte Datei überprüft wird?
05/29/2007 16:26 r00kie#4
Genau aus diesem Grund gibt es RSS oder^^?

Ich bau dir nen BSP sag mir nur in welcher sprache du es haben möchtest^^
05/29/2007 18:02 verT!c4L#5
Wie wärs mit Perl ;) ?
05/30/2007 12:45 reijin#6
Quote:
Originally posted by r00kie@May 29 2007, 16:26
Genau aus diesem Grund gibt es RSS oder^^?

Ich bau dir nen BSP sag mir nur in welcher sprache du es haben möchtest^^
ja, also am liebsten PureBasic ;D aber da das keine sau kennt ist auch C/C++ ok :)

@skypa:
Perl kenn ich leider nicht^^ - habe nur davon gehört ;D

//EDIT//
ich mach mich mal schlau, was es mit dem RSS aufsich hat :) hab ich mich eh dauernd gefragt

//EDIT2//
also mit RSS komme ich da leider nicht weiter, da muss was anderes her...
05/30/2007 14:03 NoName#7
wenn sie nicht uber secret ist dann nenn doch einfach mal die seite dann kann man schauen wie es sich am besten realiseren lässt oder ist das allgemein gedacht und nicht für ne bestimmte?
05/30/2007 17:29 reijin#8
Quote:
Originally posted by coder62@May 30 2007, 14:03
wenn sie nicht uber secret ist dann nenn doch einfach mal die seite dann kann man schauen wie es sich am besten realiseren lässt oder ist das allgemein gedacht und nicht für ne bestimmte?
eher allgemein...
ich kann ja mal ne seite suchen, die am ehesten dem entspricht :)

//EDIT//
Hier sieht mans schon:
[Only registered and activated users can see links. Click Here To Register...] an diesem Beispiel...
05/30/2007 18:06 NoName#9
da kannste einfach:
Per Email abonnieren benutzen :P

da würde ich wohl eher das datum des letzten eintrags rausparsen und schauen ob das neuer als das letzte, weil wenn du z.b. nur die checksum nimmst dann brauchen die z.b. nur ne andere werbeadresse nutzen und schon ist die anders.

oder wenne z..b seiten hast wo steht user xy etc ist gerade aktiv in dem bereich sobald das wechselt isses wieder anders und denke mal solche änderungen willste wohl nicht bescheid kriegen.
05/30/2007 18:10 reijin#10
Quote:
Originally posted by coder62@May 30 2007, 18:06
da kannste einfach:
Per Email abonnieren benutzen :P

da würde ich wohl eher das datum des letzten eintrags rausparsen und schauen ob das neuer als das letzte, weil wenn du z.b. nur die checksum nimmst dann brauchen die z.b. nur ne andere werbeadresse nutzen und schon ist die anders.
zomg XD das mit dem Email.. das war halt ungünstig aber ich will haben, dass es auch ohne Email geht.

kannst du das mit dem "rausparsen" vllt etwas präzsieren? ;D
Um welche sprache gehts hier eig.?
Kannst du mir ein schema aufzeigen, nach dem ich vorgehen kann? muss nichts großes sein... nur etwas veranschaulichen :)
05/30/2007 18:32 NoName#11
sprache ist eigentlich egal, geht am besten mit regexp (regular expression) gibts eigentlich für sämtliche sprachen.

beispiel wird dir nicht soviel bringen weil das halt eh angepasst werden muss.

man bestimmt da halt ne suchmuster und der findet dann alle muste, wobei man da ziemlich viele optionen hat das individuell zu gestalten.

gerade über:
[Only registered and activated users can see links. Click Here To Register...]
gestolpert ist ziemlich lang aber evtl hilfreich, habs mir selbst nicht durchlesen da ich weiss wie das funzt :p
05/30/2007 18:36 kennyo#12
Quote:
Originally posted by Reijin+May 30 2007, 18:10--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Reijin @ May 30 2007, 18:10)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--coder62@May 30 2007, 18:06
da kannste einfach:
Per Email abonnieren benutzen :P

da würde ich wohl eher das datum des letzten eintrags rausparsen und schauen ob das neuer als das letzte, weil wenn du z.b. nur die checksum nimmst dann brauchen die z.b. nur ne andere werbeadresse nutzen und schon ist die anders.
zomg XD das mit dem Email.. das war halt ungünstig aber ich will haben, dass es auch ohne Email geht.

kannst du das mit dem "rausparsen" vllt etwas präzsieren? ;D
Um welche sprache gehts hier eig.?
Kannst du mir ein schema aufzeigen, nach dem ich vorgehen kann? muss nichts großes sein... nur etwas veranschaulichen :) [/b][/quote]
Du könntest das z.B mi PHP machen.

Bei deinem Blog z.B. sehen die Daten im QT immer so aus:
Quote:
@ yyyy-mm-tt - hh:mm:ss
Dann liest du mit PHP die Seite ein, durchsuchst die Seite nach "@" und speichers die darauffolgenden 22 Zeichen in ein Textfile/wasweißich.

Das machste dann bei jedem Aufruf, und wenn das Datum abweicht, heisst es das nen neuer Eintrag da ist ;)
05/30/2007 18:46 reijin#13
Quote:
Originally posted by kennyo+May 30 2007, 18:36--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (kennyo @ May 30 2007, 18:36)</td></tr><tr><td id='QUOTE'>
Quote:
Originally posted by -Reijin@May 30 2007, 18:10
<!--QuoteBegin--coder62
Quote:
@May 30 2007, 18:06
da kannste einfach:
Per Email abonnieren benutzen :P

da würde ich wohl eher das datum des letzten eintrags rausparsen und schauen ob das neuer als das letzte, weil wenn du z.b. nur die checksum nimmst dann brauchen die z.b. nur ne andere werbeadresse nutzen und schon ist die anders.

zomg XD das mit dem Email.. das war halt ungünstig aber ich will haben, dass es auch ohne Email geht.

kannst du das mit dem "rausparsen" vllt etwas präzsieren? ;D
Um welche sprache gehts hier eig.?
Kannst du mir ein schema aufzeigen, nach dem ich vorgehen kann? muss nichts großes sein... nur etwas veranschaulichen :)
Du könntest das z.B mi PHP machen.

Bei deinem Blog z.B. sehen die Daten im QT immer so aus:
Quote:
@ yyyy-mm-tt - hh:mm:ss
Dann liest du mit PHP die Seite ein, durchsuchst die Seite nach "@" und speichers die darauffolgenden 22 Zeichen in ein Textfile/wasweißich.

Das machste dann bei jedem Aufruf, und wenn das Datum abweicht, heisst es das nen neuer Eintrag da ist ;) [/b][/quote]
aber die page ist ja dynamisch, wenn ich die php-seite darauf üerprüfe ist das doch nutzlos, denn der content wird von der index.php erst erstellt oder?
05/30/2007 19:49 kennyo#14
Nein.

Beispieldatei:

Code:
&#60;?php

&#036;content = file_get_contents&#40;&#34;http&#58;//reijin.blog.de/index.php&#34;&#41;; *// Seite auslesen.
&#036;suchanfang = strpos&#40;&#036;content, &#34;@&#34;&#41;; * * * * * * * * * * * * * * * * * * *// Nach &#34;@&#34; suchen. 
&#036;datum = substr&#40;&#036;content, &#036;suchanfang +2, 23&#41;; * * * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // &#34;schneidet&#34; das Datum aus. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //&#40;+2 damit das @+Leerzeichen wegfällt&#41;

echo &#036;datum;

?>
[Only registered and activated users can see links. Click Here To Register...]

Dieser Code sucht dir auf deinem Blog das oberste (also neueste) Datum raus und gibt es aus.
Jetzt könntest du es in eine .txt schreiben und es dann später vergleichen.

Das Problem ist das es ja jetzt nur für den Blog ist, ich weiß ja nicht genau wofür du es brauchst...
05/30/2007 22:08 reijin#15
Quote:
Originally posted by kennyo@May 30 2007, 19:49
Nein.

Beispieldatei:

Code:
&#60;?php

&#036;content = file_get_contents&#40;&#34;http&#58;//reijin.blog.de/index.php&#34;&#41;; // Seite auslesen.
&#036;suchanfang = strpos&#40;&#036;content, &#34;@&#34;&#41;;                   // Nach &#34;@&#34; suchen. 
&#036;datum = substr&#40;&#036;content, &#036;suchanfang +2, 23&#41;;    
                                               // &#34;schneidet&#34; das Datum aus.                                                             //&#40;+2 damit das @+Leerzeichen wegfällt&#41;

echo &#036;datum;

?>
[Only registered and activated users can see links. Click Here To Register...]

Dieser Code sucht dir auf deinem Blog das oberste (also neueste) Datum raus und gibt es aus.
Jetzt könntest du es in eine .txt schreiben und es dann später vergleichen.

Das Problem ist das es ja jetzt nur für den Blog ist, ich weiß ja nicht genau wofür du es brauchst...
hum, das sieht ja ganz gut aus...!! :handsdown:
aber, ich wollte ein programm schreiben, dass permanent im Hintergrund (alle 10min eine anfrage startet) und ggf. eine Meldung ausgibt.

PS.: hosten hättest dus nicht müssen, das hätte ich dann schon selbst gedacht - aber ein Karma ist dir schonmal sicher für die Mühe ;D

//EDIT//
müsste man doch über die WinAPI regeln können....