Entwickler-Ecke

WinForms - Inhalt von Website auslesen


peterbe - Di 08.07.14 17:12
Titel: Inhalt von Website auslesen
hallo,

ich beschäftige mich erst seit kurzem mit C#,somit anfänger :D
nun möchte ich eine website auslesen.Dort befindet sich eine Tabelle.
die werte der tabelle möchte ich in ein datagridview einlesen.


aus dem html code kann ich dies entnehmen.
---> table[@class ='cleantable zuschlag_user']

wie bekomme ich die tabelle in meine form?????


Th69 - Di 08.07.14 18:41

Hallo und :welcome:,

die Aufgabe ist aber nicht gerade einfach (erst recht nicht für einen Anfänger).

Zuerst einmal mußt du das HTMl-Dokument herunterladen, z.B. mittels

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
using System.Net; // benötigt Verweis auf diese Assembly (DLL) in deinem Projekt!

using (WebClient client = new WebClient())
{
    string htmlCode = client.DownloadString("http://yoursite.com/page.html");
    // ...
}

und danach dann parsen, z.B. mit dem Html Agility Pack [http://htmlagilitypack.codeplex.com/].
Dazu mußt du dann aber die genaue Struktur des Dokuments sowie der Tabelle kennen, um die einzelnen Zeilen, Spalten und Werte herauszulesen.


peterbe - Di 08.07.14 20:36

ich habe hier mal ein teil vom htmld code.

die daten wo 2 backslash vor sind will ich rausparsen und in eine eigene tabelle einfügen.

hab den ganzen html code als string!


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<tr class='highlighonhover zuschlag_user' style='background-color:#EEEEEE' ><td class='zuschlag_user'>
//1428140.017</td><td class='zuschlag_user'>07.07.2014</td><td class='zuschlag_user'>Zusätzliche Gebotsmöglichkeit für die Losnummern 1428140.001 bis1428140.016: 
//16 Ein-Achsanhänger 1 t Fahrgestell zusammen.</td><td class='zuschlag_user' style='text-align:right'>
//4.123,59 €</td></tr>

<tr class='highlighonhover zuschlag_user' style='background-color:#EEEEEE' ><td class='zuschlag_user'>
//1428140.018</td><td class='zuschlag_user'>07.07.2014</td><td class='zuschlag_user'>
//3-Achsanhänger 10 t Pritsche</td><td class='zuschlag_user' style='text-align:right'>
//2.755,00 €</td></tr>

<tr class='highlighonhover zuschlag_user' style='background-color:#EEEEEE' ><td class='zuschlag_user'>
//1428140.019</td><td class='zuschlag_user'>07.07.2014</td><td class='zuschlag_user'>
//1-Achsanhänger 1 t Fahrgestell</td><td class='zuschlag_user' style='text-align:right'>
//395,00 €</td></tr>


Moderiert von user profile iconTh69: XML-Tags hinzugefügt


Th69 - Do 10.07.14 09:11

Hallo peterbe,

bitte Crossposts immer angeben: myCSharp.de - C# Inhalte von Website auslesen [http://www.mycsharp.de/wbb2/thread.php?threadid=112174].
Dort hast da ja ähnliche Antworten wie meine erhalten. Bist du damit weitergekommen?


peterbe - So 13.07.14 20:16

Hallo Th69,

ich bin mit den Anworten nicht wirklich weitergekommen,da ich nicht weiß wie ich das htmlagilitypack an meinem html code anwenden kann, wie gesagt mache das erst seit kurzem.Also bitte Geduld mit mir:)


Th69 - Mo 14.07.14 10:13

Hallo,

ich habe dir (und anderen, die danach suchen) mal ein paar Tutorials für den Einstieg herausgesucht:
Webseiten mit dem HTML-Parser Agility-Pack einlesen -oder- Google mit C# in 8 Zeilen Code abfragen [http://blog.sternico.de/2008/05/webseiten-mit-dem-html-parser-agility-pack-einlesen-oder-google-mit-c-in-8-zeilen-code-abfragen/]
How to use HTML Agility pack [http://stackoverflow.com/questions/846994/how-to-use-html-agility-pack]
Parsing HTML Documents with the Html Agility Pack [http://www.4guysfromrolla.com/articles/011211-1.aspx]