Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie könnte ein solches Programm ablaufen / aussehen?
Hi,
ich möchte mir ein Programm erstellen, dass in regelmäßigen Abständen eine bestimmte Internetseite aufruft (ca. alle 10sec) und überprüft, ob auf dieser Seite ein neues Bild hochgeladen wurde und noch kein Kommentar für dieses verfasst wurde. Wenn dies der Fall ist, soll automatisch eines verfasst werden. Um Kommentare zu verfassen muss man eingeloggt sein, aber das könnte man ja vor Programm-Start tun.
Ist so etwas umsetzbar und wenn ja welche Klassen sind dafür am besten geeignet?
Öhm... Also vor Programmstart passiert in Programm schon mal gar nichts, deswegen kannst du das einloggen nicht vorher machen.
Du kannst allerdings die Schritte des Einloggen (meistens) auch mit deinem Programm "simulieren".
Und was heißt "wie könnte ein solches Programm ablaufen"? Den Ablauf hast du doch geschrieben. Du könntest dir folgende Sachen angucken:
"java + get/post Anfrage senden"
"java + html parsen" (ggf. XPath und XQuery)
"java + timer"
Ich denke selbst die Suche hier im Forum wird dich weiterbringen.
Wieso soll man überprüfen, ob ein Kommentar verfasst wurde. Immerhin schafft keiner in 10sec etwas zu schreiben.
Sofern du der Administrator der Seite bist, dann kannst du das ganze auch über die Datenbank machen. Solltest du aber nicht der Administrator sein, könntest du einen IP-Bann bekommen. Ich kenne niemanden, der so was auf seiner Seite erlauben würde. Immerhin zieht das unsummen an Traffic.
Für 10 Sekundentakt wohl kaum (cronjobs sind glaube ich ab "stündlich"). Außerdem sind cronjobs Linux-Sache, man muss überhaupt die berechtigung haben Cronjobs zu starten und es muss (sinnvoller weise) auf dem Server passieren, wo auch die Seite läuft.
also wie schon gesagt, Webseite auslesen und einen bestimmten Text im Quellcode suchen ist simpel
Java:
public static String getStringFromUrl(String urlString) throws IOException{
URL server = new URL(urlString);
BufferedReader r = new BufferedReader(new InputStreamReader(server.openStream()));
StringBuffer s = new StringBuffer();
String line = null;
while((line=r.readLine())!=null){
s.append(line);
}
return s.toString();
}
Um Kommentare zu verfassen muss man eingeloggt sein, aber das könnte man ja vor Programm-Start tun.