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語法比較方便。
熱點內容