Bestimmte Zeile aus Quelltext einer Seite in Textbox schreiben

  • VB.NET

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

    Bestimmte Zeile aus Quelltext einer Seite in Textbox schreiben

    Hallo liebe Community,

    ich bin völlig neu in Visual Basic 2008 und möchte nun mein erstes Programm schreiben.

    Ich dachte da an folgendes:


    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. WebBrowser1.Navigate("http://www.google.de/#hl=de&source=hp&q=" & ErsteZeileVonDerTextbox1)
    5. End Sub
    6. Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click
    7. Dim reader As IO.StreamReader = New IO.StreamReader(WebBrowser1.DocumentStream)
    8. Dim html_quelltext As String = reader.ReadToEnd()
    9. Dim quelle As String = Me.WebBrowser1.DocumentText
    10. Me.TextBox2.Text = quelle
    11. End Sub
    12. Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click
    13. SaveFileDialog1.ShowDialog()
    14. If SaveFileDialog1.FileName <> Nothing Then
    15. Dim writer As New StreamWriter(SaveFileDialog1.FileName)
    16. writer.Write(TextBox2.Text)
    17. writer.Close()
    18. End If
    19. End Sub
    20. End Class

    Das Programm sollte folgendes können:
    Es sollte eine ganz kleine Suchmaschine sein. Die Wörter, die in der Textbox1 sind, sollte sie nacheinander abarbeiten,
    und an die Haupt-Such-URL von Google anfügen.

    Beispiel:

    In der Textbox1 stehen folgende Begriffe untereinander

    test
    hallo
    moin

    Das Tool sollte also folgende URLs "abarbeiten":
    google.de/#hl=de&source=hp&q=test
    google.de/#hl=de&source=hp&q=hallo
    google.de/#hl=de&source=hp&q=moin


    Jetzt kommt das schwierige: Es sollte mir einen bestimmten Teil aus dem Quelltext in die Textbox2 eintragen.
    In diesem Fall wäre das die Anzahl der Ergebnisse.
    Für test wären das "Ungefähr 499.000.000 Ergebnisse (0,11 Sekunden)" --> 499.000.000 in Textbox2
    Für hallo wären das "Ungefähr 37.700.000 Ergebnisse (0,11 Sekunden)" --> 37.700.000 in Textbox2 (Unter dem Ergebniss von test)
    Für moin wären das "Ungefähr 7.660.000 Ergebnisse (0,16 Sekunden)" --> 7.660.000 in Textbox2 (Unter de Ergebniss von hallo)


    Das bedeutet, das Tool sollte aus dem Quelltext alles auslesen, was zwischen "Ungefähr" und "Ergebnisse" steht und untereinander in die Textbox2 schreiben.

    Ich habe es vielleicht ein wenig kompliziert beschrieben, aber ich bin davon überzeugt, dass es relativ wenig arbeit ist...^^

    Ich bin wirklich für jede Antwort sehr sehr dankbar, da ich einfach nicht mehr weiterweiß

    Ist es eigentlich auch mit einem Webclient möglich?

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Huhbert“ ()

    Wie wäre es mit

    VB.NET-Quellcode

    1. Dim txt As String = "Ungefähr 499.000.000 Ergebnisse (0,11 Sekunden)"
    2. Dim ll As Integer = "Ungefähr".Length
    3. Dim txt2 = txt.Substring(txt.IndexOf("Ungefähr") + ll, txt.IndexOf("Ergebnisse") - ll).Trim

    --> txt2 = "499.000.000"
    Die Zuordnung von txt2 zu Deinen Controls kannst Du wohl alleine.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!