[C/C++] HTML-Quelltext möglichst dynamisch auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von bonsai, 23. Juli 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 23. Juli 2010
    HTML-Quelltext möglichst dynamisch auslesen

    Hi.

    Ich frag mich grad wie ich Informationen von einer Website (Quelltext)
    möglichst dynamisch auslesen kann.

    Der Quelltext enthält bestimmte Informationen (Zahlen), die ich brauche
    und dann verwenden will. Bis jetzt suche ich halt nach bestimmten
    HTML-Tags die vor oder nach der Information stehen und lösche dann
    unwichtige Zeichen raus.

    Das Programm findet zwar alle Informationen, aber sobald der Quelltext
    der Website mal ne neue Formatierung bekommt, muss ich jedes Mal das
    Programm wieder anpassen.

    Hat vllt. jemand ne Idee, wie das Programm immer die gesuchten Informationen
    findet, auch wenn es eine neue Formatierung gibt?



    greetz
     
  2. 23. Juli 2010
    AW: HTML-Quelltext möglichst dynamisch auslesen

    Hast du dir schonmal einen HTML-Parser angeschaut?

    Der zerlegt deinen HTML-Text in eine Baumstruktur, die du dann durchsuchen kannst. Beispielsweise kannst du dann auf das dritte <p>-Tag unterhalb des <div>-Tags mit der ID "main" zugreifen.

    Da kann sich das Design dann noch so verändern, solange die Struktur gleich bleibt, kriegst du deine Infos.

    Die andere Möglichkeit wären reguläre Ausdrücke. Wenn die Info, die du suchst immer ein bestimmtes Format hat (z.B. "Irgendeintext: 123534"), dann kannst du deinen regulären Ausdruck basteln, der genau auf diesen Text passt (auch mit Submatches um z.B. nur die Nummer zu bekommen). Dann ist es egal, wo dieser Text in der Seite steht.
     
  3. 23. Juli 2010
    AW: HTML-Quelltext möglichst dynamisch auslesen

    Hm, hatte mir zwar bisher noch keinen HTML-Parser angeschaut, aber mein Programm holt
    sich den Quelltext und speichert ihn in einer TStringList ab. Dadurch kann ich bereits auf jede
    Zeile oder eben auch auf den gesamten Text zugreifen.

    Direkt nachdem ich den Quelltext habe, zerlege ich den auch in wichtige und unwichtige Dinge
    und lösche dann alles unwichtige heraus. Also das Grundprinzip hatte ich mir selbst schon so
    vorbereitet wie bei einem Parser.

    Die gesuchten Informationen liegen meistens nur zwischen <td> und </td> Tags.
    Innerhalb dieser Tags sind die Informationen aber noch formatiert.
    Code:
    <td class="hidden">0</td><td>3<span class="grey">.</span>357 <img...>[...]</td>
    Bei diesem Beispiel geht es um "0" und "3357".
    "0" findet man einfach durch das "hidden", aber bei "3357" muss ich erst alles zerlegen
    um die Zahl zu finden

    Es befinden sich halt keine Anhaltspunkte um die Zahl herum.
    Ich filtere momentan die <td>-Tags und lösche alles was nicht reingehört,
    aber teilweise werden auch die <td>-Tags noch ergänzt

    Ich vermute fast, dass es nich viel einfacher gehen wird
     
  4. 23. Juli 2010
    AW: HTML-Quelltext möglichst dynamisch auslesen

    wer arbeitet da an einem stämme parser??? :-D ^^

    benutz regular expression
    ich habe sowas für java gemacht und es funktioniert wunderbar und vor allem sehr sehr schnell
     
  5. 23. Juli 2010
    AW: HTML-Quelltext möglichst dynamisch auslesen

    lol, wait - du siehst ne halbe Zeile Quelltext und weißt woher er kommt? :lol: n1
    ... aber es ist weniger ein Parser, sondern mehr ein Bot

    Ok, ich denke mit regulären Ausdrücken wär es wirklich einfacher.
    Ich kenn das noch von PHP, wusste nur nich das es das in C++ auch gibt.

    Also ich danke euch für die Tipps. BW habt ihr.


    *close*
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.