C# Windows phone网页抓取

C# Windows phone网页抓取,c#,web-scraping,html-agility-pack,C#,Web Scraping,Html Agility Pack,我正试图从网页上抓取数据。通过使用HtmlAgility pack,我可以加载我想要显示的特定div。但是在这个div节点中还有其他子/子节点。如何提取每个子节点的innerhtml?以下是我所做的: var webget = new HtmlWeb(); var doc = webget.Load("http://www.dmp.gov.bd/application/index/pressdetails/press_159"); HtmlNode node = doc.DocumentNod

我正试图从网页上抓取数据。通过使用HtmlAgility pack,我可以加载我想要显示的特定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中可用的子节点,那么我可能可以整理一些东西。

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

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);
    }
}

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

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);
    }
}

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

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);
    }
}

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

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);
    }
}

我已经尝试将div内容显示为HTML页面。但是网页的内容不是英文的,所以在用UTF-8编码网页后,仍然有一些疯狂的单词,比如box。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。我已经尝试将div内容显示为HTML页面。但是网页的内容不是英文的,所以在用UTF-8编码网页后,仍然有一些疯狂的单词,比如box。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。我已经尝试将div内容显示为HTML页面。但是网页的内容不是英文的,所以在用UTF-8编码网页后,仍然有一些疯狂的单词,比如box。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。我已经尝试将div内容显示为HTML页面。但是网页的内容不是英文的,所以在用UTF-8编码网页后,仍然有一些疯狂的单词,比如box。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。