HTML Text aus Website auslesen

  • VB.NET

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

    HTML Text aus Website auslesen

    Hallo,
    ich möchte aus dem Quelltext unten die Gewinnzahlen (7, 9, 13, 14, 17, 36), die Superzahl und Spiel 77, Super 6 auslesen. Der Quelltext lade ich so in einem String :

    VB.NET-Quellcode

    1. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://lotto.de/de/spielen/landingpage.xhtml")
    2. Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
    3. Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
    4. Dim httpContent As String = reader.ReadToEnd

    Hier der Ausschnitt aus dem Quelltext in dem die Zahlen stehen:

    HTML-Quellcode

    1. <div class="teaser-left-content">
    2. <img src="/media/system/images/logo_lotto_small.gif" alt="Lotto 6aus49" width="109" height="16" />
    3. <div class="label clearfix no-extra-number">
    4. <div class="superzahl">Super-<br />zahl</div>
    5. </div>
    6. <ul class="winning-numbers clearfix">
    7. <li>7</li>
    8. <li>9</li>
    9. <li>13</li>
    10. <li>14</li>
    11. <li>17</li>
    12. <li>36</li>
    13. <li class="extra-number last-item">2</li>
    14. </ul>
    15. <ul class="spiel77_super6 clearfix">
    16. <li><img src="/media/system/images/spiel77.gif" alt="Spiel 77" width="66" height="16" /></li>
    17. <li class="field_spiel77">0526747</li>
    18. <li><img src="/media/system/images/super6.gif" alt="Super 6" width="66" height="17" /></li>
    19. <li class="field_super6">345850</li>
    20. </ul>
    21. <h2>Gewinnquoten</h2>
    22. <p class="space"><strong>Spieleinsatz: 22.975.944,00 &euro;</strong></p>
    23. </div><!-- /.teaser-left-content -->


    Aber wie bekomme ich es dort jetzt ausgelesen? Die Suche hat mir auch nicht weiter geholfen. Ich hoffe mir kann da jemand weiterhelfen.

    Gruß
    Downloader17
    Hey,

    Ich helfe dir mal, aber du solltest dir wirklich die Tuts ansehen, die sind nicht schwer ;)

    Also dein Anfang ist nicht schlecht. Als nächstes musst du ein Pattern machen. Der hilft dir nach der Zeichenfolge zu suchen, die du benötigst. Das geht ungefähr so:

    VB.NET-Quellcode

    1. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://lotto.de/de/spielen/landingpage.xhtml")
    2. Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
    3. Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
    4. Dim httpContent As String = reader.ReadToEnd
    5. ' Das kennst du ja alles schon
    6. Dim ZahlRegex as new Regex("\<li\>(?<ZAHL>(.*))<\/li\>") ' Das ist der Pattern, welcher die unnötigen Zeichen wegfiltert und das was du möchtest übrig lässt.
    7. Dim Result as String = ZahlRegex.Match(httpContent).Groups("ZAHL").ToSring()
    8. Label1.Text = Result


    Das sollte funktionieren. Aber denk dran du hast kein Lernvortschritt, wenn du das nur kopierst. ;)

    Gruß OneWorld
    Youtube Info Library 2013 jetzt im Showroom.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „OneWorld“ ()

    Wieso so kompliziert mit den HttpWeb Dingern?!

    VB.NET-Quellcode

    1. Dim httpContent As String = New WebClient() With {.Proxy = Nothing}.DownloadString("http://lotto.de/de/spielen/landingpage.xhtml")
    Mfg
    Vincent

    Hallo,
    schon einmal vielen dank für die Hilfe. Ich hatte das mit Regex schon allein rausgefunden. Soweit sieht mein vb code aus:

    VB.NET-Quellcode

    1. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://lotto.de/de/spielen/landingpage.xhtml")
    2. Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
    3. Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
    4. Dim httpContent As String = reader.ReadToEnd
    5. RichTextBox1.Text = httpContent
    6. Dim SuperzahlRegEx As New Regex("<li class=""extra-number last-item"">(?<superzahl>.*?)</li>")
    7. Dim Superzahl As String = SuperzahlRegEx.Match(httpContent).Groups("superzahl").ToString()
    8. Label8.Text = Superzahl
    9. Dim Spiel77RegEx As New Regex("<li class=""field_spiel77"">(?<spiel77>.*?)</li>")
    10. Dim Spiel77 As String = Spiel77RegEx.Match(httpContent).Groups("spiel77").ToString()
    11. Label1.Text = Spiel77
    12. Dim Super6RegEx As New Regex("<li class=""field_super6"">(?<super6>.*?)</li>")
    13. Dim Super6 As String = Super6RegEx.Match(httpContent).Groups("super6").ToString()
    14. Label2.Text = Super6


    Nur jetzt habe ich irgendwie ein Problem die 6 Gewinnzahlen auszulesen. wie muss da der Pattern aussehen? Die Zahlen sollen in 6 unterschiedliche Label stehen. Bitte kann mir noch einmal jemand helfen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Downloader17“ ()