# Daten aus sich dynamisch verändernder XML Seite extrahieren



## godaigo (18. Januar 2011)

Wie kann ich einzelne Daten aus einer XML Seite auslesen?

Die Seite liest ca. alle 1-5 sec. jeweils ca. 200 Bytes von einem Server und modifiziert damit ihren XML-Text.

Die Seite ist selbst ca. 40k gross. Es wäre also ziemlich uneffektiv (und wahrscheinlich wäre der Server auch irgendwann beleidigt) wenn ich sie immer wieder neu komplett nachladen würde.

Was wäre der beste Ansatz, um diese Aufgabe zu erfüllen?
Welche Programmiersprache und Umgebung wäre wohl geeignet (Perl, Python?)?



Ich kenne mich mit ein paar Programmiersprachen aus, habe aber leider kaum Ahnung von Internetprogrammierung.

(Ich habe schon einen Versuch mit Visual Basic und dem Internet Explorer ActiveX Control gemacht. Das konsumiert aber grosse Mengen von Prozessorpower und das Programm wird instabil, wenn es länger läuft.)


----------



## supersalzi (22. Januar 2011)

So weit ich dein Problem verstehe, liegt die Seite von der du Daten willst auf einem fremden Server.
Sobald du die Seite in deinem Internetexplorer hast, sind doch ohnehin schon alle Daten geladen (?).
Meinem Verständnis nach funktioniert das nicht, da du ja erstmal die URL der Seite aufrufen musst und somit alle Daten geladen werden.


----------



## godaigo (25. Januar 2011)

Nachdem ich die letzten Tage viel Zeit mit dem Problem verbracht habe fand ich eine funktionsfähige Lösung.

Falls mal jemand so ein ähnliches Problem hat skizziere ich den Weg kurz (Falls Details gewünscht sind gerne nachfragen):

1. Rausfinden, auf welche Internetadressen die Seite zugreift, um die Daten nachzuladen.
Dazu gibt es ein sehr gutes (freies) Tool: Wireshark
(Andere, z.B. Tamper für Firefox haben heftige Bugs, die geeignet sind, einem viel Zeit im weiteren zu kosten)

2. Genau nachschauen, wie die Daten gelesen werden (mit welchen Parametern)

3. Den Datenrequest nachbauen in einer Programmiersprache, die mit Winsocks kommunizieren kann (z.B. Visual Basic, alle .NET Sprachen....)

Schon klappt es.


----------

