Zeile aus Website auslesen

  • Allgemein

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von programmer71.

    Zeile aus Website auslesen

    Hey,
    ich möchte von einer Website einen Text auslesen (dieser ändert sich immer), welcher in Zeile 262 steht.
    Wie kann ich genau nur diese Zeile auslesen? Kenn mich leider nicht so gut mit RegEx aus :(
    Zudem möchte ich gerne wissen, wie es möglich ist, die Seite zu aktualisieren.
    Hoffe mir kann wer folgen :D
    mfg
    Raz3or
    Es gibt mehrere Möglichkeiten (abstrakte Erklärung):
    - du splittest nach \r\n oder \n und kannst anhand des Indexes deine Zeile im Array auslesen
    - du lässt dir das direkt in ein Array konvertieren
    .. heißt unter anderem, das du mittels Array hier durchaus weiterkommen könntest.
    Es gäbe da jedoch andere Lösungen.. das waren nur die, dich mir spontan eingefallen sind..
    Seite + Gewünschte zeile, sonst kann dies geschlossen werden, da niemand raten mag.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    "Seite + Gewünschte zeile" or gtfo?, was soll man da noch sagen?, schau mal in andere Thread ähnlich deinem, da postet man immer Seite + gewünschte Zeile und kriegt hilfe, raten mag hier keiner.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Warum fragen wenn man keine Hilfe will? ?(
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    Glossy Cherry schrieb:

    "Seite + Gewünschte zeile" or gtfo?, was soll man da noch sagen?, schau mal in andere Thread ähnlich deinem, da postet man immer Seite + gewünschte Zeile und kriegt hilfe, raten mag hier keiner.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Naja, die Zeile alleine auszulesen wird dir nicht viel bringen da der Text sich über mehrere Zeilen streckt.

    Du kannst höchstens über die HTML Tags <p></p> an den Text kommen aber da die ja mehrmals im Quelltext vorkommen habe ich auch keine geeignete Lösung für dich
    Bitte keine VB-Fragen üb... Ach scheiß drauf, mich fragt ja eh keiner.
    @Raz3or
    Du musst wie jeder andere auch unbedingt Regular Expressions lernen !

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Net
    3. Imports System.IO
    4. Imports System.Text.RegularExpressions
    5. Public Class Form1
    6. Private WithEvents w As New WebClient()
    7. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. w.DownloadStringAsync(New Uri("http://homepageberatung.at/cont/junk/bullshit_generator/index.php"))
    9. Me.Text = "Warte auf Quelltext ..."
    10. End Sub
    11. Private Sub w_DownloadStringCompleted(ByVal sender As Object, ByVal e As System.Net.DownloadStringCompletedEventArgs) Handles w.DownloadStringCompleted
    12. Me.Text = "Fertig geladen"
    13. Dim quelltext As String = e.Result
    14. quelltext = quelltext.Replace(vbCrLf, "") 'Leerzeichen entfernen
    15. Dim r As New Regex("<br><br><p>(?<text>(.*?))<.p><br><br>")
    16. Dim matches As MatchCollection = r.Matches(quelltext)
    17. For Each m As Match In matches
    18. MessageBox.Show(m.Groups("text").Value.ToString())
    19. Next
    20. End Sub
    21. End Class

    Angucken und verstehen !
    Das was du am meisten in Regex brauchst: (.*?) holt alles "von ... bis" davor und dahinter Grenzen die du setzt. Entfernst du alle Zeilenumbrüche aus dem Text kannst du, finde ich, besser mit ihm arbeiten.
    Danke!
    Ich habe nun natürlich wieder ein Problem. Es werden teilweise doppelte Leerzeichen ausgegeben.

    Ich habe es bereits auf diese Art probiert:

    VB.NET-Quellcode

    1. Dim replacestring As String = rtb1.Text
    2. Dim textstring As String = Replace(replacestring, " ", " ", )
    3. rtb1.Text = textstring

    Jedoch ohne Erfolg.
    Ich möchte ja doppelte Leerzeichen (also " ") durch einfache ersetzen (also " ") damit der Text gleichmäßig aussieht :)
    Vielleicht hab ich ja auch einen Denkfehler.

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