Webseite öffnen und spezielle Dinge speichern

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Orenda.

    Webseite öffnen und spezielle Dinge speichern

    Hallo,

    Ich habe vor ein Programm zu schreiben, welches auf eine Webseite aus einer Liste geht, dann aus einem speziellen HTML Container den Text herunterlädt und Bilder die gleichzeitig auf der Webseite sind herunterlädt die sich ebenfalls in einem Container befinden. Diese Dateien (also Txt mit Text und den Bildern) werden in einen Ordner gespeichert, welcher den Namen eines weiteren Text trägt, welcher sich ebenfalls in einem HTML Container befindet. Ich habe bereits mir den Code geschrieben wie ich die Liste lade, jedoch weiß ich nicht was ich den BackgroundWorker machen lassen soll. Ich habe so grobe Überlegungen, jedoch weiß ich nicht ganz wie ich diese umsetzen soll.

    Mein momentaner Code:

    VB.NET-Quellcode

    1. Imports System.Text
    2. Imports System.Web
    3. Imports System.IO
    4. Imports System.Net
    5. Public Class MainForm
    6. Private Sub startButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles startButton.Click
    7. If URLBox.Items.Count = 0 Then
    8. MessageBox.Show("In order to run the downloader, you need to load a list of url's!")
    9. Else
    10. Worker.RunWorkerAsync()
    11. End If
    12. End Sub
    13. Private Sub stopButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stopButton.Click
    14. Worker.CancelAsync()
    15. MessageBox.Show("Process has been stopped!")
    16. End Sub
    17. Private Sub loadListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loadListButton.Click
    18. loadListDialog.Filter = "Text files|*.txt"
    19. If loadListDialog.ShowDialog = DialogResult.OK Then
    20. URLBox.Items.AddRange(File.ReadAllLines(loadListDialog.FileName))
    21. loadedLabel.Text = "Loaded URL's: " & URLBox.Items.Count.ToString
    22. loadedProgressBar.Maximum = URLBox.Items.Count
    23. End If
    24. End Sub
    25. Private Sub clearListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles clearListButton.Click
    26. MessageBox.Show("The list of url's has been cleared!")
    27. loadedLabel.Text = "Loaded URL's: 0"
    28. URLBox.Items.Clear()
    29. End Sub
    30. Private Sub Worker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles Worker.DoWork
    31. End Sub
    32. Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    33. Control.CheckForIllegalCrossThreadCalls = False
    34. End Sub
    35. End Class


    Mit freundlichen Grüßen,
    Orenda.
    Verstehe dein Problem nicht. Weißt du denn wozu der BackgroundWorker da ist bzw. was der Macht?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    1. Backgroundworker ist nicht mehr zeitgemäßg. Async/Await wäre heutzutage die 1. Wahl.
    2. Im nebenläufigen Teil (bei Dir DoWork) sollte wohl der Download-Teil hin.
    3.

    Orenda schrieb:

    Control.CheckForIllegalCrossThreadCalls = False
    fast noch schlimmer als Option Strict Off (bei Dir ist es aber anschenend ON, von daher ist das nur ein allgemeiner OMG-Vergleich)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    *bitte keine unnötigen Vollzitate*

    Ich weiß, dass da der Download-Teil hin kommt. Ich weiß nur nicht wie ich das ganze Umsetze. Er soll die Webseite öffnen, dann die Bilder und den Text. Der Text befindet sich beispielsweise in einem <h1>. Muss nicht sein, aber nur als Beispiel damit du weißt was ich meine.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()