NekoHtml解析 html 檔案

2021-08-27 20:16:56 字數 1729 閱讀 7613

最近做了乙個 html 解析的 小專案,用的是 nekohtml, 解析靜態的html頁面,提取需要的資訊 成jason物件並放到乙個檔案中。

思路是, 先使用netko可以快速的將需要的html中的指定標籤如 table 中的資訊拿到。 然後存入臨時生成乙個temp.html頁面,再重新解析成 node物件。就可以根據結構獲得制定的 node下的內容了。

核心**如下:

public static customerrecord convertfiletoobj(string filepath) throws exception ;

// create html parser

xmlparserconfiguration parser = new htmlconfiguration();

parser.setproperty("", filters);

xmlinputsource source = new xmlinputsource(null, filepath, null);

parser.parse(source);

string description = filtereddescription.tostring();

pattern p = pattern.compile("\\s*|\t|\r|\n");

matcher m = p.matcher(description);

description = m.replaceall("");

// * wirte the content into file

file temp = new file(file.getparentfile().getpath(), "temp.html");

writer out = null;

out = new filewriter(temp, false);

out.write(description);

out.close();

domparser parser2 = new domparser();

parser2.parse(temp.getpath());

document document = parser2.getdocument();

int a = 0;

nodelist nodelist = xpathapi.selectnodelist(document, "//tr");

for (int i = 0; i < nodelist.getlength(); i++)

if (i == (a + 2))

}// soa

if (trcontent.startswith("soarecord"))

}// a

if (trcontent.startswith("arecords"))

}// mxrecords

if (trcontent.startswith("mxrecords"))

}// nsrecords

if (trcontent.startswith("nsrecords")) }}

cr.setareclist(alist);

cr.setmxreclist(mxlist);

cr.setsoareclist(soalist);

cr.setnxreclist(nxlist);

temp.delete();

return cr;

}

HTML資料解析

html資料解析 用到開源 htmlparser htmlnode.m htmlnode.h htmlparser.m htmlparser.h 解析你的資料前還有三步 1在工程中新增libxml2的庫 2 在header search path中新增 usr include libxml2 3 將...

DocumentHelper解析xml檔案

documenthelper解析xml檔案解析xml格式的字串,需要先引入以下依賴 org.dom4j dom4j 2.1.1 jaxen jaxen 1.1.1 最簡單的應用示例 public static void main string args throws exception迴圈迭代遍歷子...

使用HtmlParser解析HTML

如果要對html進行解析,提取html的資料或者修改html資料,htmlparser是乙個不錯的選擇.使用htmlparser可以解析本地和網路上的html資料 parser parser new parser new winista.text.htmlparser.http.httpprotoc...