Ich fange an, das Html Agility Pack zu verwenden, um eine Webseite in C# zu scrappen. Ich habe diesen Code geschrieben, um Daten von einem Table-Tag zu bekommen (im Moment lege ich die Ergebnisse in ein Label).Mit HtmlAgillityPack wie kann man nur Daten ohne HTML-Tags bekommen?
Mein Ziel ist es, die Daten in eine DataGridView
setzen.
Auf jeden Fall möchte ich Schritt für Schritt gehen, so meine Fragen sind zwei:
- Wie kann ich ohne die HTML-Tags nur Daten?
- Wie kann ich Daten von zwei oder mehr Tags erhalten?
Dies ist mein Code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string url = "http://www.betexplorer.com/soccer/sweden/allsvenskan/results/";
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(url);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//table"))
{
//node.Remove();
outputLabel.Text += node.InnerText;
}
}
}
EDIT1: Ich änderte InnerHtml
mit InnerText
. Ist es möglich, Daten auch von internen Tags zu bekommen? Dies ist ein Beispiel für HTML-Code:
<tr class="first-row">
<td class="first-cell tl">
<a href="../matchdetails.php?matchid=MaxATAKK" onclick="win(this.href, 560, 500, 0, 1); return false;">Gefle - Kalmar</a>
</td>
<td class="result">
<a href="../matchdetails.php?matchid=MaxATAKK" onclick="win(this.href, 560, 500, 0, 1); return false;">4:2</a>
</td>
<td class="odds best-betrate" data-odd="3.53"></td>
<td class="odds" data-odd="3.37"></td>
<td class="odds" data-odd="2.04"></td>
<td class="last-cell nobr date">18.07.2016</td>
</tr>
Ich brauche "Daten-ungerade" Werte ... Wie kann ich es tun?
Verwenden node.InnerText .. –
Ok, mache ich es. Kannst du meine Bearbeitung sehen? Ich sollte Daten innerhalb von Tags erhalten, insbesondere "Data-Odd" -Werte. Danke – Marci
Hinweis/FYI: "Daten innerhalb der Tags" werden Attribute genannt – Tyress