当前位置:首页 » 编程语言 » html解析java

html解析java

发布时间: 2022-06-08 00:27:33

java 如何解析html标签

如果嫌麻烦,有个专门解析html的jar包,免费的 很小 叫 jsoup 你搜搜 一个页面的的任何标签的任何值 不超过4句代码 都能取出来

㈡ Java将字符串转化为html然后解析

一、如果你是用的servlet,直接用
PrintWriter out = response.getWriter();
String strss="<input type='checkbox' name='proTest' id='proc74155' value='优逸系列之鼎富122002号(第11期)人民币' onclick=floatTip.check(this,'proc74155')></label></td><td class='dr' align='left'><b><a href='74155.shtml' alt='优逸系列之鼎富122002号(第11期)人民币' title='优逸系列之鼎富122002号(第11期)人民币' target='_blank'>优逸系列之鼎富1..</a></b><font class='cred'>[预售]</font></td><td class='hl' align=\"left\">包商银行</td><td class='on'>2013-12-09</td><td >2014-02-10</td><td class='hl'>人民币</td><td class='hl'>2.00</td><td class='hl'>混合型</td><td class='hl'>--</td><td class='hl'>--</td></tr><tr align='center'><td align='center'>";
out.println(strss);
就ok了
二、如果你是在jsp中,直接 out.println(strss);

㈢ java中几种解析html的工具

HTML分析是一个比较复杂的工作,Java世界主要有几款比较方便的分析工具:

1.Jsoup
Jsoup是一个集强大和便利于一体的HTML解析工具。它方便的地方是,可以用于支持用jQuery中css selector的方式选取元素,这对于熟悉js的开发者来说基本没有学习成本。

String content = "blabla";
Document doc = JSoup.parse(content);
Elements links = doc.select("a[href]");

    Jsoup还支持白名单过滤机制,对于网站防止XSS攻击也是很好的。

    2.HtmlParser

    HtmlParser的功能比较完备,也挺灵活,但谈不上方便。这个项目很久没有维护了,最新版本是2.1。HtmlParser的核心元素是Node,对应一个HTML标签,支持getChildren()等树状遍历方式。HtmlParser另外一个核心元素是NodeFilter,通过实现NodeFilter接口,可以对页面元素进行筛选。这里有一篇HtmlParser的使用文章:使用 HttpClient 和 HtmlParser 实现简易爬虫。

    3.Apache tika

    tika是专为抽取而生的工具,还支持PDF、Zip甚至是JavaClass。使用tika分析HTML,需要自己定义一个抽取内容的Handler并继承org.xml.sax.helpers.DefaultHandler,解析方式就是xml标准的方式。crawler4j中就使用了tika作为解析工具。SAX这种流式的解析方式对于分析大文件很有用,我个人倒是认为对于解析html意义不是很大。

  • InputStream inputStream = null;

  • HtmlParser htmlParser = new HtmlParser();

  • htmlParser.parse(new ByteArrayInputStream(page.getContentData()),

  • contentHandler, metadata, new ParseContext());

  • 4.HtmlCleaner与XPath

    HtmlCleaner最大的优点是:支持XPath的方式选取元素。XPath是一门在XML中查找信息的语言,也可以用于抽取HTML元素。XPath与CSS Selector大部分功能都是重合的,但是CSS Selector专门针对HTML,写法更简洁,而XPath则是通用的标准,可以精确到属性值。XPath有一定的学习成本,但是对经常需要编写爬虫的人来说,这点投入绝对是值得的。

㈣ java解析html是jsoup还是htmlparse还是其他的什么

用jsoup解析html或者htmlparse,不过比较难用,jsoup是jquery语法比较方便。

㈤ java怎么把html中的数据解析出来

给你一个思路,可能不是最好的,但可以解决这个问题,把这段html当成xml解析,然后以键值对的形式放到map里去,标签就作为键,标签里的内容就作为值,多个相同的标签名称比如span,可以这样命名当作键span、 span2、 span3、 span4。比如你要取时间的值就直接map.get("span2")就可以拿到了。

㈥ java中解析html代码提取字符串

packagetest;

publicclassJButtonTest
{
publicstaticvoidmain(String[]args)
{
Stringregex="[\s\S]+\<property\s+name[\='"]+label[^\>]+\>([^\<]+)\<\/property\>[\s\S]*";
Stringinput="<propertyname="name"> projectNo </property> <propertyname="property"> projectNo </property> <propertyname="label"> 项目编号 </property> <editor/>";
System.out.println(input.replaceAll(regex,"$1"));
}
}

㈦ 使用java怎么读取html文件内容

java可以使用jsoup、htmlparser等工具进行html的读取和解析,以下是详细说明:

1、jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。据说它是基于MIT协议发布的。
jsoup的主要功能如下:
从一个URL,文件或字符串中解析HTML;
使用DOM或CSS选择器来查找、取出数据;
可操作HTML元素、属性、文本;
示例代码:
Document doc = Jsoup.parse(input, "UTF-8", "http://www.dangdang.com");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}

㈧ java解析html,然后获取里面的内容!

如果确定每次的数据都是标准的xml格式,那么使用dom4j解析吧

㈨ java如何解析html文档

importjava.io.*;
importjava.util.*;
importjavax.swing.text.*;
importjavax.swing.text.html.*;
importjavax.swing.text.html.parser.*;
importjavax.swing.text.html.HTMLEditorKit.ParserCallback;
{//继承ParserCallback,解析结果驱动这些回调方法
protectedStringbase;
protectedbooleanisImg=false;
protectedbooleanisParagraph=false;
protectedstaticVector<String>element=newVector<String>();
=newString();
publicParser(){
}
(){
returnparagraphText;
}
publicvoidhandleComment(char[]data,intpos){
}
publicvoidhandleEndTag(HTML.Tagt,intpos){
if(t==HTML.Tag.P){
if(isParagraph){
isParagraph=false;
}
}elseif(t==HTML.Tag.IMG){
if(isImg){
isImg=false;
}
}
}
publicvoidhandleError(StringerrorMsg,intpos){
}
publicvoidhandleSimpleTag(HTML.Tagt,MutableAttributeSeta,intpos){
handleStartTag(t,a,pos);
}
publicvoidhandleStartTag(HTML.Tagt,MutableAttributeSeta,intpos){
if(t==HTML.Tag.P){
isParagraph=true;
}elseif((t==HTML.Tag.IMG)){
Stringsrc=(String)a.getAttribute(HTML.Attribute.SRC);
if(src!=null){
element.addElement(src);
isImg=true;
}
}
}
publicvoidhandleText(char[]data,intpos){
if(isParagraph){
StringtempParagraphText=newString(data);
if(paragraphText!=null){
element.addElement(tempParagraphText);
;
}
}
}

privatestaticvoidstartParse(StringsHtml){
try{
ParserDelegatorps=newParserDelegator();//负责每次在调用其parse方法时启动一个新的DocumentParser
HTMLEditorKit.ParserCallbackparser=newParser();//解析结果驱动这些回调方法。
ps.parse(newStringReader(sHtml),parser,true);//解析给定的流并通过解析的结果驱动给定的回调。
//System.out.println(getParagraphText());
Vectorlink=element;
for(inti=0;i<link.size();i++){
System.out.println("----haha-----");
System.out.println(link.get(i));
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(Stringargs[]){
try{
Stringfilename="D://blogbaby.htm";
BufferedReaderbrd=newBufferedReader(newFileReader(filename));
char[]str=newchar[50000];
brd.read(str);
StringsHtml=newString(str);
startParse(sHtml);
}catch(Exceptione){
e.printStackTrace();
}
}
}

热点内容
双向的访问了你的空间 发布:2025-02-08 13:13:20 浏览:700
python元素是否在list 发布:2025-02-08 13:11:38 浏览:694
安卓现在哪个最好用 发布:2025-02-08 13:06:27 浏览:791
百度网盘上传错误 发布:2025-02-08 12:56:21 浏览:69
安卓手机怎么解除防抖系统 发布:2025-02-08 12:55:37 浏览:391
sql2008sql代理 发布:2025-02-08 12:55:34 浏览:52
vs编译找不到指定项目文件 发布:2025-02-08 12:36:54 浏览:243
怎样用windows服务器搭建网站 发布:2025-02-08 12:27:38 浏览:532
android获取音乐 发布:2025-02-08 12:26:05 浏览:962
存储的数据可以复制吗 发布:2025-02-08 12:20:22 浏览:852