关于HtmlParser中Parser【org.htmlparser.Parser】这个类奇怪的地方...求解释【已获得解释】...
昨天在使用HtmlParser解析爬蟲爬下的網(wǎng)頁時(shí),用了其中的Parser這個(gè)對象來解析網(wǎng)頁,但是一個(gè)奇怪的問題出現(xiàn)了,求解釋....
@Testpublic void test() {
Parser parser;
try {
parser = new Parser("http://www.163.com");
parser.setEncoding("gb2312");
NodeFilter title_filter = new TagNameFilter("title");
NodeList nodelist = parser.parse(title_filter);
System.out.println(nodelist.size());
Node title_node = nodelist.elementAt(0);
String title = title_node.toPlainTextString();// 提取title標(biāo)簽的文本內(nèi)容
System.out.println(title.trim());
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
執(zhí)行之后的結(jié)果是:網(wǎng)易 1
當(dāng)使用parser第二次的時(shí)候,問題出現(xiàn)了,難道parser對象使用一次后,會(huì)執(zhí)行什么內(nèi)部操作?
@Testpublic void test() {
Parser parser;
try {
parser = new Parser("http://www.163.com");
parser.setEncoding("gb2312");
NodeFilter title_filter = new TagNameFilter("title");
NodeList nodelist = parser.parse(title_filter);
System.out.println(nodelist.size());
Node title_node = nodelist.elementAt(0);
String title = title_node.toPlainTextString();// 提取title標(biāo)簽的文本內(nèi)容
System.out.println(title.trim());
// parser = new Parser("http://www.163.com");
parser.setEncoding("gb2312");
title_filter = new TagNameFilter("title");
nodelist = parser.parse(title_filter);
System.out.println(nodelist.size());
title_node = nodelist.elementAt(0);
title = title_node.toPlainTextString();// 提取title標(biāo)簽的文本內(nèi)容
System.out.println(title.trim());
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
第一次調(diào)用仍讓可以獲得結(jié)果:網(wǎng)易,但是執(zhí)行第二次調(diào)用parser來解析title的時(shí)候,就解析不出來了,獲取的nodeList也是空了....
求解釋。
------------------------------解釋如下---------------------------------
第二次調(diào)用parser對象的時(shí)候,需要reset一下。
-----------------------------------------------------------------------
轉(zhuǎn)載于:https://www.cnblogs.com/matrix1024/archive/2011/12/22/matrix1024.html
總結(jié)
以上是生活随笔為你收集整理的关于HtmlParser中Parser【org.htmlparser.Parser】这个类奇怪的地方...求解释【已获得解释】...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享一下字符串匹配BM算法学习心得。
- 下一篇: sql server 交叉表查询实例-成