KingMike Geschrieben 2. August 2011 Geschrieben 2. August 2011 Hallo Zusammen, ich habe eine Frage bezüglich dem Parsen von Websites mit C#, wenn dort Java bzw. Flashelemente enthalten sind. Das Parsen von Websites ohne diese Elemente ist möglich, da dort direkt mittels bestimmter Klassen auf den Htmlcode zugegriffen werden kann. Soll aber jetzt eine Website, die Beispielsweise eine JAVA-Funktion beinhaltet GetTime() geparst werden, so ist es mir noch nicht gelungen den Rückgabewert im C#-Programm auszulesen bzw. auszuwerten, da dieser nicht als reiner Htmlcode zurückgegeben wird. Wisst Ihr was ich meine und wie es funktioniert? Kann mir von euch jemand helfen? Wenn Ihr noch weitere Infos von mir benötigt kommt einfach auf mich zu! Vielen Dank euch allen schonmal! PS: Ich hoffe es war verständlich Beste Grüße an alle Zitieren
Sacaldur Geschrieben 2. August 2011 Geschrieben 2. August 2011 meinst du vielleicht statt Java Javascript? womit führst du diese analyse bisher durch? wofür brauchst du das eigentlich? (was ist dein Ziel, was du damit erreichen willst bzw. warum muss der JS-Code ebenfalls ausgeführt werden?) Zitieren
flashpixx Geschrieben 2. August 2011 Geschrieben 2. August 2011 Weder Java noch Flash Daten lassen sich nicht parsen, denn es sind in beiden Fällen "binäre Formate". Ggf. ist auch das was Du meinst nicht präzise formuliert, denn ein Parser ist ein definiertes Stück Software, das eine bestimmte Aufgabe hat Zitieren
KingMike Geschrieben 2. August 2011 Autor Geschrieben 2. August 2011 meinst du vielleicht statt Java Javascript? womit führst du diese analyse bisher durch? wofür brauchst du das eigentlich? (was ist dein Ziel, was du damit erreichen willst bzw. warum muss der JS-Code ebenfalls ausgeführt werden?) Sry mein Fehler! Ja ich meine Javascript... Bevor die Website Javascript verwendet hat, war es mir möglich bestimmte Werte aus dem heruntergeladenen HTML-Code zu analysieren und weiterzuverwenden. Dies ging ganz leicht mit htmlrequests. Jetzt nachdem dort Javascript verwendet wird und man sich den HTML-Code dazu ansieht, komm ich nicht mehr an diese Werte. Ein Beispiel wäre ein BOT für ein Browsergame oder ähnliches. Hierzu ist es notwendig sich die einzelnen Ressourcenwerte zu ziehen. Diese wurden vorher via PHP erzeugt und damit im HTML-Dokument ersichtlich. Da war es möglich diese Werte mittels HTTP-Requests auszulesen. Jetzt aufgrund der Umstellung auf Javascript ist das nicht mehr möglich da hier im Htmlcode nur die Funktionsaufrufe stehen, aber nicht die von der Funktion zurückgegebenen Werte. Ich hoffe es ist ein bisschen klarer geworden was ich meine . Ich hab schon mehrere Bots erstellt, aber da war es einfacher, weil es reines PHP war . Zitieren
KingMike Geschrieben 2. August 2011 Autor Geschrieben 2. August 2011 Weder Java noch Flash Daten lassen sich nicht parsen, denn es sind in beiden Fällen "binäre Formate". Ggf. ist auch das was Du meinst nicht präzise formuliert, denn ein Parser ist ein definiertes Stück Software, das eine bestimmte Aufgabe hat Ich glaub es war unglücklich formuliert... Sieh mal den Post vorher an Vielleicht kannst du mir dann auf die Sprünge helfen Zitieren
SilentDemise Geschrieben 2. August 2011 Geschrieben 2. August 2011 genau das ist der sinn dahinter, damit man von außen keine internen werte abgreifen kann ;o Zitieren
flashpixx Geschrieben 2. August 2011 Geschrieben 2. August 2011 Die Frage ist woher kommen die Daten, wenn sie aus einem Serverseitigen Script kommen, muss es eben aufgerufen werden. Unter JavaScript kann man dafür z.B. Ajax (Programmierung) verwenden. Wenn die Daten innerhalb von JavaScript erzeugt werden, dann muss Du eben das JavaScript eben durch einen Interpreter ausführen lassen Zitieren
KingMike Geschrieben 2. August 2011 Autor Geschrieben 2. August 2011 okay... also das heißt es gibt mit C# keine Möglichkeit daran zu kommen oder? Zitieren
flashpixx Geschrieben 2. August 2011 Geschrieben 2. August 2011 Man kann auch unter C# ein serverseitiges Script aufrufen, denn es ist ein ganz normaler HTTP Aufruf und die Daten, die das Script sendet kann man dann auslesen. Wenn man es dann von Hand machen will, dann muss man nur einen Socket öffnen und eben die passende HTTP Anfrage senden und die Antwort entgehen nehmen. Interpreter für JavaScript gibt es einige z.B. SpiderMonkey oder Rhino (Programmierung) letztendlich kann man damit den JavaScript Code interpretieren lassen und das Ergebnis verarbeiten. Inwieweit man auf die Elemente von C# dafür zurückgreifen kann, weiß ich nicht im Detail, da ich mich mit C# nicht befasse. Aber natürlich kann man aus C# die Komponenten des IE verwenden um Webcontent zu verarbeiten via Object Linking and Embedding , Component Object Model oder Distributed Component Object Model okay... also das heißt es gibt mit C# keine Möglichkeit daran zu kommen oder? Diese Aussage ist somit nicht richtig Zitieren
Sacaldur Geschrieben 2. August 2011 Geschrieben 2. August 2011 ich kann dir nur genrell Empfehlungen geben, da ich mich mit diesem Themengebiet nicht ausreichend beschäftigt habe: du solltest gucken, in wie weit du für dein Vorhaben Browsermittel verwenden kannst so könntest du evtl. eine Firefox-Erweiterung schreiben, die das machst, was du willst andererseits könntest du auch einfach (wie bereits geschrieben) mit einer Browserengine (bzw. JS-Engine, wie u. a. die des IE) den JS-Code interpretieren lassen und dann deinen Parser darauf los lassen es gibt aber auch einen guten Grund, warum die Daten aus Browsergames nicht ohne weiteres ausgewertet werden sollen: in den meisten Fällen sind solche Bots verboten (zumindest würde ich das spontan meinen) ich hoffe, du kannst mit meiner Unwissenheit etwas anfangen ;D Zitieren
NerdonRails Geschrieben 2. August 2011 Geschrieben 2. August 2011 ich werfe mal IronJS in den Raum, eine Javascript-Implementierung in F# die auf der DLR aufsetzt, evtl gehts damit Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.