Quelltext einer Webseite mit C# auslesen

Mit dem folgenden kleinen Snippet könnt ihr den Quelltext einer Webseite auslesen und in einem string speichern.
Solch eine Funktion eignet sich zum Beispiel, wenn man einzelne Informationen aus einer Webseite parsen und anderweitig benutzen will.

Damit das Snippet funktioniert, müsst ihr eurem Quelltext folgende beide Using-Direktiven hinzufügen.

using System.Net;
using System.IO;

//Snippet von www.code-bude.net

Die Funktion zum Download des Quelltextes sieht dann wie folgt aus:

public string getHTML(string url)
{
 //Anfrage an die Übergebene URL starten
 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);

 //Antwort-Objekt erstellen
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();

 //Antwort Stream an Streamreader übergeben
 StreamReader sr = new StreamReader(response.GetResponseStream());

 //Antwort (HTML Code) auslesen
 string html = sr.ReadToEnd();

 //Streamreader und Webanfrage schließen
 sr.Close();
 response.Close();

 //Quellcode zurückgeben
 return html;
}

//Snippet von www.code-bude.net

Ein Aufruf der Funktion könnte zum Beispiel so aussehen:

getHTML("http://www.code-bude.net");

//Snippet von www.code-bude.net

Solltet ihr Verbesserungsvorschläge oder sogar Probleme mit dem Snippet haben, schreibt mir einen Kommentar.

Viele Grüße,
Raffi

Raffi

Seit 2011 blogge ich hier über Programmierung, meine Software, schreibe Tutorials und versuche mein Wissen, so gut es geht, mit meinen Lesern zu teilen.

6 Kommentare

  1. 2Beesays:

    Genau was ich gesucht habe, Danke!

  2. Wieso schreibst du so ein Bullshit zusammen? unfähig wie normale lebewesen zu coden? ich empfehle dir Selbstmord zu begehen!

    • Was ist denn mit dir verkehrt? Ist die Luft in Tamm etwas dünn? Der oben dargestellt Quellcode funktioniert einwandfrei und entspricht dem, was in Überschrift und Anreißer versprochen wird.

      Zu “unfähig wie normale lebewesen zu coden” brauch ich ja mal nichts zu sagen. Wenn du es selbst hinbekommen hättest, wärst du nicht auf diesen Artikel gestoßen, da du nicht nach einer solchen Lösung hättest suchen müssen. Also lieber mal kleinere Brötchen backen…

  3. Simonsays:

    Vielen Dank, genau das hab ich gebraucht.
    Und gut erklärt, super!

  4. Raffisays:

    Hallo Danny,

    danke für die Anmerkung. Den Webclient kenne ich auch. Du hast Recht, in diesem Falle hätte der Webclient auch gereicht. Im Endeffekt ist er ja auch nur ein Wrapper um HttpWebWebrequest. Ich hatte im Hinterkopf einfach nur die vielfältigeren Erweiterungsmöglichkeiten der Klasse, die einem mit dem HttpWebRequest zur Verfügung stehen.

    Viele Grüße,
    Raffi

  5. Dannysays:

    Etwas kürzer gehts auch mit dem Webclient:

    WebClient webClient = new WebClient();
    string quelltext = webClient.DownloadString(“http://code-bude.net”);

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.