Windows手机网络抓取

本文关键字:抓取 网络 手机网 手机 Windows | 更新日期: 2024-09-21 01:26:29

我正试图从网页中抓取数据。通过使用HtmlAgility包,我可以加载我想要显示的特定div。但是在这个div节点中还有其他子/子节点。如何提取每个子节点的innerhtml?以下是我所做的:

var webget = new HtmlWeb();
var doc = webget.Load("http://www.dmp.gov.bd/application/index/pressdetails/press_159");
HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@class='span8 inner_mess']");

这里我指的是一个特定的网页。它不会一直都是一样的,但可以确认div是相同的,并且在div内部会有不同的子节点,这取决于URL。

如果我能通过代码找到特定div中可用的子节点,那么我就可以整理一些东西。

Windows手机网络抓取

是否要递归跟踪节点?(我不知道这是否有效,因为我只会说英语)。你可以添加缩进和回车来修饰它。

private void button1_Click(object sender, EventArgs e)
{
    var webget = new HtmlWeb();
    var doc = webget.Load("http://www.dmp.gov.bd/application/index/pressdetails/press_159");
    HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@class='span8 inner_mess']");
    TraverseNodes(node.ChildNodes);
}
private void TraverseNodes(HtmlNodeCollection nodes)
{
    foreach (HtmlNode node in nodes)
    {
        textBox1.Text += node.InnerText;
        TraverseNodes(node.ChildNodes);
    }
}