Text einer Website auslesen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Fachkraftx3.

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. Me.Label1.AutoSize = True
    3. Dim MyWebClient As New Net.WebClient
    4. MyWebClient.Encoding = System.Text.Encoding.UTF8
    5. MyWebClient.DownloadFile("http:\\www.lala.de", "test.txt")
    6. Dim strInhalt As String = System.IO.File.ReadAllText("test.txt")
    7. Me.Label1.Text = strInhalt ' Hier der Quellcode
    8. End Sub


    Hilt das weiter?
    Visual Basic.NET 8o
    MS-SQL
    8o

    Cheffboss schrieb:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. Me.Label1.AutoSize = True
    3. Dim MyWebClient As New Net.WebClient
    4. MyWebClient.Encoding = System.Text.Encoding.UTF8
    5. MyWebClient.DownloadFile("http:\\www.lala.de", "test.txt")
    6. Dim strInhalt As String = System.IO.File.ReadAllText("test.txt")
    7. Me.Label1.Text = strInhalt ' Hier der Quellcode
    8. End Sub


    Hilt das weiter?


    Wieso speicherst du den Quelltext erst in eine Datei und liest diese dann aus?


    Hier hast du's in einer Zeile.
    Natürlich musst du es auf deine Bedürfnisse anpassen!
    (Evtl. ist jetzt nur aus dem Kopf heraus da ich nichts zum Testen da habe. Sollte aber funktionieren.)

    VB.NET-Quellcode

    1. Label.Text = (string)(JsonValue.Parse((new WebClient()).client.DownloadString ("<Adresse der Webseite>"))as JsonObject)["<Name der Variable im JSON>"];
    @Anluin

    Der Name JsonValue ist im Aktuellen Kontext nicht vorhanden
    WebClient enthält keine def. für "client"
    Der Typ- oder Namespace "JsonObject" wurde nicht gefunden

    C#-Quellcode

    1. label1.Text = (string)(JValue.Parse((new WebClient()).DownloadString("<crowbar.steamdb.info/Barney>")) as JObject)["<succes>"];

    Steht jetzt da: System.ArgumentException "Illegal Chars in path"


    Hab das mal so umgeschrieben:

    C#-Quellcode

    1. WebClient webClient = new WebClient();
    2. webClient.Headers.Add("user-agent", "Only a test!");
    3. label1.Text = (string)(JValue.Parse((webClient.DownloadString("https://crowbar.steamdb.info/Barney"))) as JObject)["status"];


    Jetzt verschwindet da aber meine Label :(

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Fachkraftx3“ ()

    Wie kommt das nur. Schau dir die Zeile noch mal an und achte auf illegal Characters. Tipp: Du hast den Fehler gleich 2 Mal gemacht, nicht nur bei der URL.

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Hatte Lust das zu testen und habs versucht. Ging. Du musst das JSON einfach mal modellieren, dann kannst du actually direkt Objekte befüllen und nutzen. Viel Spaß:

    C#-Quellcode

    1. using System;using System.Net;
    2. using System.Web.Script.Serialization;
    3. using System.Collections.Generic;
    4. namespace SteamStat {
    5. class MainClass {
    6. public static void Main (string[] args) {
    7. var client = new WebClient ();
    8. client.Headers.Add("user-agent", "#Random");
    9. var jsonString = client.DownloadString ("https://crowbar.steamdb.info/Barney");
    10. SteamApiRoot data = new JavaScriptSerializer().Deserialize<SteamApiRoot>(jsonString);
    11. Console.WriteLine (data.services.webapi.title.ToString ());
    12. }
    13. }
    14. class SteamApiRoot {
    15. public bool success;
    16. public long time;
    17. public double online;
    18. public String psa;
    19. public SteamApiServiceRoot services;
    20. }
    21. class SteamApiServiceRoot {
    22. public SteamApiService webapi;
    23. public SteamApiService csgo_us_southwest;
    24. // Was du halt brauchst, hier geht leider kein Array weil diese API beschissen ist und lieber ein Objekt nutzt
    25. // -> Also alles einzeln auflisten. Du kannst das anhand der Namen durcheinander machen
    26. }
    27. class SteamApiService {
    28. public String title;
    29. public String status;
    30. public long time;
    31. }
    32. }


    Grüße

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!