我正在使用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
,停止并修剪结果的结尾吗?
答案 0 :(得分:1)
有几种方法可以实现这一目标,其中一种方法是将页面重新显示为XML并解析您要查找的数据,
这可以与 X元素 XmlElement XDocument 等
第二种方法是使用HtmlAgilityPack之类的第三方库,它也支持XPath,
var个节点= doc.DocumentNode.SelectNodes(“ // form // input”);