Webclient RegExwerte verarbeiten

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Webclient RegExwerte verarbeiten

    Hallo. hier mal mein VB-Code um was es geht;

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Text.RegularExpressions
    3. Public Class Form1
    4. 'Quelle
    5. '<!-- Start "On Now" -->
    6. '<div id="epg_on_now">
    7. 'Jetzt im TV //<br />
    8. '<a href="/tv/talk-talk-talk/">talk talk talk - Die Late Show</a>
    9. '<div id="epg_bar"><div style="width: 65%"></div></div>
    10. '</div>
    11. '<!-- End "On Now" -->
    12. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    13. Dim client As New WebClient
    14. Dim temp As String = client.DownloadString("http://www.prosieben.de/tv-programm/#Fernsehprogramm")
    15. Dim filter As String = "<a href=""/tv/(.*?)</a>"
    16. Dim reg As New System.Text.RegularExpressions.Regex(filter)
    17. Dim ausgabe As String = reg.Match(temp).Value
    18. TextBox1.Text = ausgabe
    19. End Sub
    20. End Class


    statt den Wert

    VB.NET-Quellcode

    1. <a href="/tv/talk-talk-talk/">talk talk talk - Die Late Show</a>


    ("talk talk talk - Die Late Show" war der Wert zu der Zeit an dem die Sendung gelaufen ist, Wert ändert sich in min/std takt)

    bekomme ich den hier raus

    VB.NET-Quellcode

    1. <a href="/tv/">Sendungen A-Z</a>


    an was könnte es liegen?
    Ist doch auch richtig was du raus bekommst, schließlich ist

    HTML-Quellcode

    1. <a href="/tv/">Sendungen A-Z</a>


    der erste String im Quelltext auf den der Filter zutrifft. Erst beim zweiten Treffer ist das was du suchst. Also entweder bearbeitest du den Filter so, dass der erste Treffer nicht mehr zutrifft oder du nutzt die MatchCollection, da hast du eine Liste mit allen Treffern auf die der Filter zutrifft.
    @Dodo

    Entweder bin ich echt blind oder nicht.... ich find ja nicht mal den Link (

    Quellcode

    1. <a href="/tv/talk-talk-talk/">talk talk talk - Die Late Show</a>
    ) im Quelltext vom Webclient. oder mach ich irgend was falsch?? ^^
    GOOGLE ist mein Meister :)
    Aha ok danke für die aufklärung wobei ich es immer noch nicht geschnallt hab wo auf der Seite der aktuelle link zu finden wäre... aber gut wenn ihn wenigstens andere finden ^^ *gg*
    GOOGLE ist mein Meister :)
    Danke schön dass wusste ich auch aber ich bekomm folgendes:
    1.)

    Quellcode

    1. <a href="/tv/">Sendungen A-Z</a></li>

    2.)

    Quellcode

    1. <h4>Programm-Highlight des Tages</h4>
    2. <a class="highlight-img" href="/tv/simpsons/">

    3.)

    Quellcode

    1. <span class="alpha">Heute // 20:15 Uhr</span>
    2. </a>
    3. <h3><a href="/tv/simpsons/">Die Simpsons</a></h3>

    4.)

    Quellcode

    1. <a href="/tv/germanys-next-topmodel/video/clip/190357-micaela-schaefer-zeigt-was-sie-hat-1.2730123/" class="" title="Micaela Schäfer zeigt was sie hat" onclick="">
    2. Micaela Schäfer zeigt was sie hat</a></h3>

    aber nicht die aktuelle Sendung! ^^
    GOOGLE ist mein Meister :)
    Regex-Entwicklung nicht ohne Tool. Online-Regextester oder RegexTester, wobei letzterer mächtiger ist, und eine Doku ist auch dabei.

    Dieser Regex "<a href=""/tv/(.*?)</a>" scheint mir fehlerhaft, denn '<', '>' haben Regex-Syntaktische Bedeutungen - da müssteman evtl. escapen.