Content einer Website parsen

  • Hallo Leute!


    Ich bin seit kurzem ein richtiger Fan von Android geworden und möchte eine kleine App schreiben, die eine Website "analysiert". (zb: Bestimmte Einträge in ein ListView sammelt).


    Nun steh ich aber etwas an:


    Die Website verwendet einen Login sowie ASP (.NET).
    Wie kann ich mich erfolgreich einloggen (Username/Password wird in einem Feld im App eingegeben) und den Content nun parsen? Nach dem Login sieht man den Content (direkt beim Browser), aber der Quellcode zeigt logischerweise nicht direkt den Content her (nur ASP aufrufe).
    Irgenwo muss aber der wahre HTML Kern ersichtlich sein, denn sonst würde ich es im Browser nicht sehen! ;)


    Wäre echt cool, wenn jemand von euch eine Idee hat. :)
    Zur Info: Bin kein Java Anfänger, habe Jahrelange Programmiererfahrung. Müsst also nicht von ganz, ganz unten anfangen ;)

  • Erstmal Herzlich Willkommen bei A-D :D


    Was du zur Anzeige vom Server bekommst ist HTML. Da musst du, anstatt es direkt dem Browser übergeben (der eigentlich nichts anderes macht als HTML / CSS darstellen) durch deinen Parser schicken. Der Browser parst das HTML vor der Anzeige auch.


    Login: Du musst die Benutzerdaten in dem Format senden, wie es die Web-Anwendung verlangt (POST, GET, richtige Bezeichner, etc.). Schau dir dazu am besten den Code für das Anmelde-Formular einmal an, wie dieses aufgebaut ist.


    Hier noch ein paar Links zum Thema:


    Ich hoffe, du kommst damit weiter, ansonsten einfach nachhaken - dafür sind wir ja da :)


    Viele Grüße,
    Florian

  • Auch von mir vielen Dank für die Links. Was spricht aber eigentlich gegen Regex? Oder anders gefragt, was braucht weniger CPU und Speicher, RegEx oder ein Parser?

  • Auch von mir vielen Dank für die Links. Was spricht aber eigentlich gegen Regex? Oder anders gefragt, was braucht weniger CPU und Speicher, RegEx oder ein Parser?


    Das hängt wohl komplett vom Entwickler ab ;) . Wird der Parser ungünstig programmiert, ist der reguläre Ausdruck mit Sicherheit schneller. Da ein Parser jedoch explizit für ein ganz bestimmtes Problem entwickelt wurde, und somit darauf auch besser zugeschnitten ist (bzw. sein kann), ist ein perfekter Parser wohl deutlich effizienter als ein regulärer Ausdruck. Programmier es mit der Technik, in der du fitter bist. Biste ein RegEx-Crack? Dann nehm RegEx! Stehste hingegen mit RegEx auf Kriegsfuß (so wie ich ;) ) und programmierst lieber eigene Algorithmen, dann schreib dir nen Parser. Programmieren tut man ja sowieso nur gegen Schnittstellen, von daher ist die Logik schnell ausgetauscht, falls man feststellt, dass es auf die zuerst gewählte Art doch zu langsam ist.

  • Das hängt wohl komplett vom Entwickler ab ;) . Wird der Parser ungünstig programmiert, ist der reguläre Ausdruck mit Sicherheit schneller. Da ein Parser jedoch explizit für ein ganz bestimmtes Problem entwickelt wurde, und somit darauf auch besser zugeschnitten ist (bzw. sein kann), ist ein perfekter Parser wohl deutlich effizienter als ein regulärer Ausdruck. Programmier es mit der Technik, in der du fitter bist. Biste ein RegEx-Crack? Dann nehm RegEx! Stehste hingegen mit RegEx auf Kriegsfuß (so wie ich ;) ) und programmierst lieber eigene Algorithmen, dann schreib dir nen Parser. Programmieren tut man ja sowieso nur gegen Schnittstellen, von daher ist die Logik schnell ausgetauscht, falls man feststellt, dass es auf die zuerst gewählte Art doch zu langsam ist.

    Danke für Deine Meinung. Einen "perfekten" Parser müsste man ja erst (für jede Website) entwickeln. Für die paar Werte ist mir der Aufwand zu groß, da versuche ich mich lieber an RegEx (obwohl ich da mit Sicherheit kein "Crack" bin ;) )

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!