使用htmlparser解析网页获取不到div标签里的内容
网页源代码:<divclass="lotconts">不为周围七嘴八舌的意见所迷惑和盲目跟从。该大声主张自己的时候就要有自己的风格。连外型打扮也是一样的,不一窝风跟著赶流...
网页源代码:<div class="lotconts">不为周围七嘴八舌的意见所迷惑和盲目跟从。该大声主张自己的时候就要有自己的风格。连外型打扮也是一样的,不一窝风跟著赶流行,穿出自己风格特色的你才是最吸引人的。全新的衣服穿上身,气氛一新的感觉!而今天也是参与社团、结交新朋友的吉日喔。</div>
我用下面的代码获取:
NodeFilter filter_summary = new AndFilter(new TagNameFilter("div"),new HasAttributeFilter("class","lotconts"));
nodelist = parser.parse(filter_summary);
NodeIterator it2 = nodelist.elements();
if(!it2.hasMoreNodes()){
System.out.println("no nodes");
}
while(it2.hasMoreNodes()){
Node node = (Node)it2.nextNode();
System.out.println("node = " + node.toHtml());
}
结果打印出来的是no nodes,为什么获取不到里面的内容啊?
实在是没有财富值了,高手帮帮忙,才接触htmlparser 展开
我用下面的代码获取:
NodeFilter filter_summary = new AndFilter(new TagNameFilter("div"),new HasAttributeFilter("class","lotconts"));
nodelist = parser.parse(filter_summary);
NodeIterator it2 = nodelist.elements();
if(!it2.hasMoreNodes()){
System.out.println("no nodes");
}
while(it2.hasMoreNodes()){
Node node = (Node)it2.nextNode();
System.out.println("node = " + node.toHtml());
}
结果打印出来的是no nodes,为什么获取不到里面的内容啊?
实在是没有财富值了,高手帮帮忙,才接触htmlparser 展开
1个回答
展开全部
if(!it2.hasMoreNodes())
{System.out.println("no nodes");
}
和while(it2.hasMoreNodes()){
Node node = (Node)it2.nextNode();
System.out.println("node = " + node.toHtml());
}是选择结构,
你那个(!it2.hasMoreNodes())的条件满足了所以输出的就是if里面的东西
while里条件不满足所以就不显示里面的了
{System.out.println("no nodes");
}
和while(it2.hasMoreNodes()){
Node node = (Node)it2.nextNode();
System.out.println("node = " + node.toHtml());
}是选择结构,
你那个(!it2.hasMoreNodes())的条件满足了所以输出的就是if里面的东西
while里条件不满足所以就不显示里面的了
追问
我知道if和while语句,疑问在为什么NodeFilter filter_summary = new AndFilter(new TagNameFilter("div"),new HasAttributeFilter("class","lotconts"));获取不到那个div里的内容?
追答
用URL类,把网页内容读入,然后分割字符串,得到你想要的内容。 URL url =不用htmlparser包 很麻烦的啊 我想LZ不愿意用这个包原因可能是:没用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询