java取html标签
2015-12-21 14:38
483 查看
package com.zsjz.utils.tools;
import java.net.URL;
import java.util.ArrayList;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.nodes.TagNode;
import org.htmlparser.tags.ImageTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.TextExtractingVisitor;
public class HtmlToString {
public static String htmlToString(String html){
String txt = "";
try {
Parser body_parser = new Parser(html);
body_parser.setEncoding("utf-8");
TextExtractingVisitor visitor = new TextExtractingVisitor();
body_parser.visitAllNodesWith(visitor);
txt = visitor.getExtractedText();
} catch (ParserException e) {
e.printStackTrace();
}
return txt;
}
public static ArrayList<TagNode> htmlImgToList(String html,String tag){
ArrayList list = new ArrayList();
Parser parser = Parser.createParser(html, "utf-8");
tag = tag.toUpperCase();
NodeFilter filter = new TagNameFilter(tag);
NodeList nodelist;
try {
nodelist = parser.extractAllNodesThatMatch(filter);
for(int i = 0; i < nodelist.size(); i++){
TagNode node = (TagNode)nodelist.elementAt(i);
list.add(node);
/*System.out.println(node.toString());*/
}
} catch (ParserException e) {
e.printStackTrace();
}
return list;
}
public static void main(String[] ar){
String html = "<p> ffffff<img src='http://upload.zsjz888.com/goodsfile/20150622/7a33f25a-cafa-4f37-ac27-df1cb263055b.jpg' alt='' /></p><img src='http://upload.zsjz888.com/goodsfile/20150622/7a33f25a-cafa-4f37-ac27-df1cb263055b.jpg' alt=''
/><p> </p><p>考上一本,上个好大学,是无数考生和家长的愿望。那么,在考分上线的情况下,如何合理地选择志愿学校呢?本文将针对高考考生的需求,对中国100多所好大学进行一个系统的划分和介绍,帮助考生找到最适合自己的学校。目前,社会上判断好大学的标准,有两个常见的误区。</p><p> </p><p><strong>误区一:凭借口碑选择学校</strong></p><p>. 根据口碑选择大学只适用于极少数的情况,因为除了清华、北大等极少数公认的顶级大学,绝大部分学校都不具备超凡脱俗的实力,所谓的口碑实际上是来自于部分人群的更熟悉和更了解。人们由于自身经历和生活中接受到的一些零散的信息,对有些大学比较熟悉以及产生了一些或好或坏的印象,而对另外99%的学校则是完全陌生的,在这样的基础上形成的意见具有很强的片面性和主观性。即便是高等教育领域的工作者,也都会受限于个人的经历和视野,很难对大部分学校的情况做出全面的判断。依靠口碑推荐的方式来选择学校,具有很强的不确定性,风险也很高。</p>";
String html1="ddddddddd";
//System.out.print(HtmlToString.htmlToString(html1));
ArrayList<TagNode> list = HtmlToString.htmlImgToList(html,"img");
for(int i=0;i<list.size();i++){
String s1=list.get(0).getAttribute("src");
System.out.println(s1);}
}
}
import java.net.URL;
import java.util.ArrayList;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.nodes.TagNode;
import org.htmlparser.tags.ImageTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.TextExtractingVisitor;
public class HtmlToString {
public static String htmlToString(String html){
String txt = "";
try {
Parser body_parser = new Parser(html);
body_parser.setEncoding("utf-8");
TextExtractingVisitor visitor = new TextExtractingVisitor();
body_parser.visitAllNodesWith(visitor);
txt = visitor.getExtractedText();
} catch (ParserException e) {
e.printStackTrace();
}
return txt;
}
public static ArrayList<TagNode> htmlImgToList(String html,String tag){
ArrayList list = new ArrayList();
Parser parser = Parser.createParser(html, "utf-8");
tag = tag.toUpperCase();
NodeFilter filter = new TagNameFilter(tag);
NodeList nodelist;
try {
nodelist = parser.extractAllNodesThatMatch(filter);
for(int i = 0; i < nodelist.size(); i++){
TagNode node = (TagNode)nodelist.elementAt(i);
list.add(node);
/*System.out.println(node.toString());*/
}
} catch (ParserException e) {
e.printStackTrace();
}
return list;
}
public static void main(String[] ar){
String html = "<p> ffffff<img src='http://upload.zsjz888.com/goodsfile/20150622/7a33f25a-cafa-4f37-ac27-df1cb263055b.jpg' alt='' /></p><img src='http://upload.zsjz888.com/goodsfile/20150622/7a33f25a-cafa-4f37-ac27-df1cb263055b.jpg' alt=''
/><p> </p><p>考上一本,上个好大学,是无数考生和家长的愿望。那么,在考分上线的情况下,如何合理地选择志愿学校呢?本文将针对高考考生的需求,对中国100多所好大学进行一个系统的划分和介绍,帮助考生找到最适合自己的学校。目前,社会上判断好大学的标准,有两个常见的误区。</p><p> </p><p><strong>误区一:凭借口碑选择学校</strong></p><p>. 根据口碑选择大学只适用于极少数的情况,因为除了清华、北大等极少数公认的顶级大学,绝大部分学校都不具备超凡脱俗的实力,所谓的口碑实际上是来自于部分人群的更熟悉和更了解。人们由于自身经历和生活中接受到的一些零散的信息,对有些大学比较熟悉以及产生了一些或好或坏的印象,而对另外99%的学校则是完全陌生的,在这样的基础上形成的意见具有很强的片面性和主观性。即便是高等教育领域的工作者,也都会受限于个人的经历和视野,很难对大部分学校的情况做出全面的判断。依靠口碑推荐的方式来选择学校,具有很强的不确定性,风险也很高。</p>";
String html1="ddddddddd";
//System.out.print(HtmlToString.htmlToString(html1));
ArrayList<TagNode> list = HtmlToString.htmlImgToList(html,"img");
for(int i=0;i<list.size();i++){
String s1=list.get(0).getAttribute("src");
System.out.println(s1);}
}
}
相关文章推荐
- 轻量级JavaEE企业应用实战(十一)
- Java 服务端开发(二)
- java设计模式之——代理模式
- Java学习----HashMap原理
- java
- Java Script 第一节课 Java Script的简介
- Java学习----集合框架总结
- java.util.ResourceBundle使用详解
- java多线程值线程同步
- Java源码之Vector
- 为什么Java byte 类型的取值范围是-128~127
- mac上卸载jdk
- Java内存分配
- Java基础系列一、基础+运算符
- java 发邮件demo
- Spring事务配置方式(一) 拦截器方式配置
- ServletConfig与ServletContext对象详解
- Java上传文件进度条的实现方法(附demo源码下载)
- you must restart adb and eclipse的相关解决办法
- 第一个用eclipse打包APK时出现的问题