使用给定的起点和终点,从html中分离出一段数据

时间:2018-11-25 13:31:51

标签: c# html

我正在使用C#学习屏幕抓取,我想知道

如何,我将收集的html分开, 我正在使用htmlAgilityPack和ScrapySharp库进行抓取,因此通过此代码,我可以检索html页面:

WebPage PageResult = Browser.NavigateToPage(new Uri("localhost"));
Console.WriteLine(PageResult);

当然我会使用所有语法和mishmash取回整个源代码,但是如果,我只想捕获<h2></h2>标签之间的数据,而忽略其他所有内容?

我非常简单的伪代码是:

If result reads h2
Trim all behind
start writing out after 
If result reads /h2
stop writing
Trim anything that comes after

我主要遇到的问题是我如何feed,根据规则,当我读h2之前要剪裁所有内容之后,再写数据,如果出现/h2,停止并修剪结果的结尾吗?

1 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一目标,其中一种方法是将页面重新显示为XML并解析您要查找的数据,

这可以与 X元素 XmlElement XDocument 等

第二种方法是使用HtmlAgilityPack之类的第三方库,它也支持XPath,

  

var个节点= doc.DocumentNode.SelectNodes(“ // form // input”);