Text zwischen <div>-Tag aus Webseite fortlaufend in Textdatei speichern

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von TVX.

    Text zwischen <div>-Tag aus Webseite fortlaufend in Textdatei speichern

    Moin moin zusammen!

    Hatte eben eigentlich schon einen Beitrag verfasst, aber finde ihn patu nicht wieder -
    auch in meinem Profil taucht er nicht auf. Ist er noch in Bearbeitung oder ist wohl
    was schiefgelaufen?

    Ich versuchs nochmal:

    Ich organisiere gerade an einem Studentenabend mit und dafür möchten wir etwas
    über 100 verschiedene Sprüche, welche auf einer Webseite zwischen einem <div>-Tag
    stehen, auf Kärtchen drucken. Nun ist es einfacher, das mit VB zu lösen, als alles von
    Hand zu kopieren. Leider kann ich diese praktische Sprache nicht bedienen.

    Der Ablauf müsste inetwa so aussehen:

    Variable1: 1 TO 137
    Variable2: Kopierter.Text
    FOR EACH Variable1:
    Besuche: "http://www.domain.com/".$Variable1
    Kopiere: String zwischen <div ...> und </div> in $Variable2
    Speichere $Variable2 mit einer Freizeile dahinter in C:\sprueche.txt

    Ich bin mit meiner Recherche leider nur auf Lösungen gestoßen, die
    bei mir Fehlermeldungen ausgaben und von weiteren Anpassungen etc.
    habe ich leider überhaupt keine Ahnung.

    Weiß jemand Rat? Lieben Gruß, Hallgato
    p.S. Und sollte mein ursprünglicher Post doch noch auftauchen, bitte ich vielmals um Verzeihung!
    Machs mit RegEx:

    Der Suchpattern müsste dan so aussehen: "<div>(.*?)</div>"
    hier der Link zum Tutorial zum einlesen: *klick*

    @Hallgato:
    da du dich bemüht hast und dir das RegEx Tut angschaut hast:
    Hier hab dir mal was gecodet:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim matches As MatchCollection = Regex.Matches(TextBox1.Text, "<div>(.*?)</div>")
    3. Dim stringlist As New List(Of String)
    4. For Each Match As System.Text.RegularExpressions.Match In matches
    5. stringlist.Add(Match.Value.Replace("<div>", "").Replace("</div>", ""))
    6. Next
    7. For u = 0 To stringlist.Count - 1
    8. MsgBox(stringlist.Item(u).ToString)
    9. Next

    @all: Ja ich weiß das Msgbox veraltet ist aber ich war zu faul Messagebox.Show() zuschreiben ;)

    Den HTML-Code würde ich mir über den Webclient mit .DownloadString holen ;)
    EDIT// Willkommen im Forum :thumbup:

    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „faxe1008“ ()