Entwickler-Ecke
WinForms - Information aus einem Seitenquelltext kopieren/anzeigen/bear
HalloWorld - Do 11.03.10 12:06
Titel: Information aus einem Seitenquelltext kopieren/anzeigen/bear
Hallo Leute..
Ich habe folgendes Problem:
Ich hab eine einfache Windows Anwendung die mir von einer Seite :
http://www.fh-kiel.de/index.php?id=infosystem
die Nachrichten raussuchen soll, irgendwo in einer XML Speichern und zB. Anzeigen .
Es geht dann darum, dass wenn eine neue Information auf der besagten Seite vorhanden ist soll die Windows Anwendung mit einem Blinkenden Text oder Beep oder so in der arbt mir das signalisieren..
Nun zum Stand.. Im Moment habe ich einfach eine Form mit einem Webbrowser und einem Button... Der webbrowser geht auf die besagte Adresse, nun schaff ich es nicht den Seitenquelltext auszuwerten und in XML zu speichern...
mit DocumentText könnte ich schon mal ein String mit der Info füllen..
Bin Dankbar für Vorschläge...
danielf - Do 11.03.10 14:30
Hallo,
die Informationen liegen ja bereits im
RSS-Format [
http://webneu.fh-kiel.de/index.php?id=4317&type=100] vor.
Du kannst also einfach diese Xml-Datei herunterladen.
Ich habe mal einen "RSS-Watcher" geschrieben. Dieser macht im Prinzip genau das was du brauchst. Sprich er lädt alle x ms ein RSS Datei herunter und vergleicht den Eintrag mit denen vom letzten Update. Wenn sich etwas geändert hat, lößt er ein Event aus.
Gruß Daniel
HalloWorld - Do 11.03.10 14:44
Ich möchte aber nicht nur die Informationen aus dem Infosystem mit meinem Tool aktualisieren, sondern auch Informationen auf dem Forum (also news) der Fachschaft und evt. Aus dem ELearning, alles von der FH-Kiel, ... da kann ich aber keine xml herunterladen und verwenden... da muss ich direkt an den code ran...
danielf - Do 11.03.10 14:57
Nun ja, für die genannte Source kannst du es genau so machen.
Ich rate dir andere Quellen dann auch ins RSS-Format zu konvertieren und an eine einheitliche Logik zu übergeben. Dann musst du nur individuelle Quellanbindungen schreiben.
Parsen von Homepagen:
1) WebClient zum Download der relevanten Url
2) RegularExpressions welches dir die gewünschte Stellen gibt (RegEx)
3) Transformation der spezifischen Informationen in RSS
Oder woran liegt dein Problem?
HalloWorld - Do 11.03.10 15:11
Danke schon mal für den Vorschlag...
leider kenn ich mich mit Regex gar nicht aus....
die Seite E-Learning, wo ich ein paar informationen her haben will, ist zT. mit vielen Java Scripts versehen... die Informationen die ich haben will stehen genau in den Javascripts... ich habe mir eingentlich gedacht den Code in einen String zu speichern , und mit der Split Klasse solange zerlegen bis ich an die info komme....
WebClient wollte ich gar nicht benutzen, sondern den WebBrowser .. oder ist das zu umständlich ?
danielf - Do 11.03.10 15:14
Für was brauchst du einen WebBrowser? Du willst die Daten ja verarbeiten und nicht anzeigen.
Mit Split die Daten zu verarbeiten wirst du ja verrückt :D
Wenn die Seite über viel JavaScript verfügt, dann ist es sehr umständlich Informationen automatisiert abzugreifen. Aber ich bin mir sicher, dass ihr bei eurem E-Learning Plattform auch irgenwelche Export-Funktionen habt, wie bei dem
Infosystem für Studierende [
http://www.fh-kiel.de/index.php?id=infosystem].
HalloWorld - Do 11.03.10 15:39
Die E-Learning Seite beinhaltet einen Log In... und dann ist das wie ein Forum... für jedes Modul. zB Elektrische Maschinen , hat der Prof einen Zugang und kann da Infos reinschreiben... die stehen dann aber wie gesagt nicht in einer XML :(
Den Log in habe isch schon hinbekommen ... dazu benutze ich eben den Webbrowser weil ich nicht rausfinden konnte was ich Posten muss um mit meinen zugangsdaten rein zugehen... so kann meine Abwendung bereits sich einlogen... aber wie gesagt nicht die Information aus dem Java Script raussuchen.. das ist so ähnlich...:
....
<script type="text/javascript">
var infoProf = Array();
for (var i = 0; i < 100; i++)
{
infoProf[i] = new info();
}
infoProf[1] = new info(1, "Heute haben wir Labor","Prof Heinemann","02.05.2010");infoProf[2] = new info(2, "Heute haben wir Frei","Prof Heinemann","02.05.2010");infoProf[1] = new info(3, "Heute haben wir ...","Prof Heinemann","02.05.2010");
....
...
..
ich Brauche nur die info an der Zweiten Stelle also den Text und das Datum ....
Kha - Do 11.03.10 20:56
Dafür sollten reguläre Ausdrücke wirklich gut geeignet sein, also würde ich mal nach einem Tutorial suchen ;) .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!