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中可用的子节点,那么我就可以整理一些东西。
是否要递归跟踪节点?(我不知道这是否有效,因为我只会说英语)。你可以添加缩进和回车来修饰它。
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);
}
}