java解析html
发布时间: 2022-12-29 07:00:20
Ⅰ 能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗
java中有解析html文档的库,直接网络或者google关键字:java html parser即可
不知道这些库是否能够获取页面元素对应的xpath值,这些库,仅供参考。但我想,这些库既然能够解析html文档,那么他们就一定会用到xpath,如果他们将xpath相关api暴漏出来的话,就能够实现你的功能啦。
Ⅱ 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文档
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();
}
}
}
Ⅳ java解析html是jsoup还是htmlparse还是其他的什么
用jsoup解析html或者htmlparse,不过比较难用,jsoup是jquery语法比较方便。
热点内容