Aus Quelltext eine Information auslesen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von %P%.

    Aus Quelltext eine Information auslesen

    Hallo Zusammen. Ich habe ein Problem mit dem ich mich nun die letzen Tage beschäftigt habe und auf keine Lösung gekommen bin.
    Mein Programm ließt alle 5sekunden von einer Internetseite den kompletten Quellcode in eine Textbox aus!
    Auf der Webside ist ein Label in dem eine Information steht die ich benötige. Bisher wollte ich dies so auslesen:

    VB.NET-Quellcode

    1. TextBox1.Text = WebBrowser1.DocumentText
    2. TextBox2.Text = TextBox1.Lines(124) 'Schritt 1
    3. TextBox3.Text = TextBox2.Text.Substring(1162) 'Schritt 2
    4. TextBox4.Text = TextBox3.Text.Remove(21) 'Schritt 3
    5. Narrichten.Text = TextBox4.Text



    Als erstes lese ich den Quellcode aus, dann gehe ich in Zeile 124, nehme den Substring(1162) von dem String aus Zeile 124 (also entfehrne die ersten 1162 Zeichen). Und zum Schluss entfehrne ich 21 Zeichen vom hinteren Ende des Strings. Und das ist dann genau das Wort welches ich suche. Allerdings habe ich ein Problem!!!! :huh:

    Die Webside ändert mehrmals täglich die Position dieses Labels im Quellcode da über oder unter dem Label der Webside Text vareiert. Also kann ich den Ort nicht feste bestimmen und somit klappt mein Code auch nicht mehr!

    Nun ist es auch Ziemlich schwer ein Start und ein End Zeichen vor und hinter dem Wort zu definieren da der Quellcode an die 800Zeilen hat und somit fast jedes Zeichen 50mal dran kommt!

    Was kann ich also tun? ;( Ich brauche diese Information wirklich dringend weil es ein Projekt für die Schule ist und ich fertig werden muss. Meine Idee die Ihr für mich vieleicht realisieren könntet wäre folgende: Dieses Label hat ja einen Namen der eig nur einmal vorkommen dürfte. Könnte man diesen suchen und z.B. 100 Zeichen nach diesem Titel mit ein beziehen? Oder habt ihr eine ganz andere Idde? BITTE HELFT MIR!!!! 8o

    Liebe Grüße und danke an alle :rolleyes:

    Max

    Alex2000 schrieb:

    Hey. Vielen Dank! Ich habe mir alles durchgelesen und die Vorgehensweise auch verstanden und das ist genau das was ich suche. Allerdings bringe ich es nicht dies hierrauf an zu wenden :( Hier Fehlt die ID und alles :( Könntest du mir bitte bitte ein Beispiel machen wie man mit rex an dass fettgedruckte ran kommt? Wichtig (das ist nur die Stelle des Codes von der Homepage) :huh:

    <li><a href="/Messages/tid/106" class="Navi-Messages-Link" rel="nofollow"title="Nachrichtendienst">Nachrichtendienst</a></li>


    LG Max :P

    An das fettgedruckte kommst du so ran:

    VB.NET-Quellcode

    1. 'RegEx wurde sicherlich schon importiert ;)
    2. Dim DeinString As String = "<li><a href="/Messages/tid/106" class="Navi-Messages-Link" rel="nofollow"title="Nachrichtendienst">Nachrichtendienst</a></li> "
    3. DeinString = RegEx.Match(DeinString, "<a href\=\"".*?\""\>.*?\<\/a", RegExOptions.IgnoreCase).ToString()
    4. DeinString = RegEx.Replace(DeinString, "<a href\=\""", "", RegExOptions.IgnoreCase)


    %P% :thumbup:
    Hello World