htmlparser用于 對(duì)html頁(yè)面進(jìn)行解析,它是一個(gè)功能比較強(qiáng)大的工具。
htmlparser基本功能
1. 信息提取· 文本信息抽取,例如對(duì)HTML進(jìn)行有效信息搜索
· 鏈接提取,用于自動(dòng)給頁(yè)面的鏈接文本加上鏈接的標(biāo)簽
· 資源提取,例如對(duì)一些圖片、聲音的資源的處理
· 鏈接檢查,用于檢查HTML中的鏈接是否有效
· 頁(yè)面內(nèi)容的監(jiān)控
2. 信息轉(zhuǎn)換
· 鏈接重寫(xiě),用于修改頁(yè)面中的所有超鏈接
· 網(wǎng)頁(yè)內(nèi)容拷貝,用于將網(wǎng)頁(yè)內(nèi)容保存到本地
· 內(nèi)容檢驗(yàn),可以用來(lái)過(guò)濾網(wǎng)頁(yè)上一些令人不愉快的字詞
· HTML信息清洗,把本來(lái)亂七八糟的HTML信息格式化
· 轉(zhuǎn)成XML格式數(shù)據(jù)
htmlparser常用代碼
取得一段html代碼里面所有的鏈接C#版本,java版本類似:string htmlcode = "<HTML><HEAD><TITLE>AAA</TITLE></HEAD><BODY>" + ...... + "</BODY></HTML>";
Parser parser = Parser.CreateParser(htmlcode, "GBK");
HtmlPage page = new HtmlPage(parser);
try
{ parser.VisitAllNodesWith(page);}
catch (ParserException e1)
{ e1 = null;}
NodeList nodelist = page.Body;
NodeFilter filter = new TagNameFilter("A");
nodelist = nodelist.ExtractAllNodesThatMatch(filter, true);
for (int i = 0; i < nodelist.Size(); i++)
{
LinkTag link=(LinkTag) nodelist.ElementAt(i);
System.Console.Write(link.GetAttribute("href") + "\n");
}