在这个Html代码中,我需要从html标签中获取属性和数据。这是一个例子:
...
<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>
...
所以,我需要在td标签和属性(数据奇数)之间获取数据。
这是我的C#代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HtmlAgilityPack;
namespace bexscraping
{
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;
}
}
}
}
有什么建议吗?谢谢!
答案 0 :(得分:1)
这是一些Msdn例子:XPath Examples; XPath Reference
根据您的代码段,您可以选择包含属性数据奇数的所有标记 TD 。
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);
var nodes = doc.DocumentNode.SelectNodes("//td[@data-odd]");
foreach (HtmlNode node in nodes)
{
//Here process your node
//Example: to get data-odd value
var val = node.GetAttributeValue("data-odd", "");
}
}