當前位置:首頁 » 編程語言 » 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();
}
}
}

熱點內容
學習編程青少年 發布:2024-05-21 13:27:19 瀏覽:708
mfc連接access資料庫 發布:2024-05-21 13:17:39 瀏覽:697
家裡網的密碼是多少 發布:2024-05-21 13:16:14 瀏覽:159
龍之谷交易所腳本 發布:2024-05-21 12:55:03 瀏覽:743
心理游戲編程 發布:2024-05-21 12:55:02 瀏覽:317
安卓哪個平板有高刷新率 發布:2024-05-21 12:47:06 瀏覽:126
sQliteAndroid事務 發布:2024-05-21 12:41:52 瀏覽:852
孕期計演算法 發布:2024-05-21 12:29:58 瀏覽:418
android虛擬事件 發布:2024-05-21 12:29:11 瀏覽:115
javaeffective 發布:2024-05-21 11:39:58 瀏覽:765