import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;
import java.io.*;
import java.net.*;
public class parseHTML extends HTMLEditorKit.ParserCallback {
// 記錄是否將資料印出
private boolean inHeader=false;
public parseHTML() {}
// 將 Parse HTML 後的資料印出
public void handleText(char[] text, int position) {
if (inHeader) {
// 印出 xxxx => xxxx
// xxxx => HTML Tag A 的文字 (text)
System.out.println(text);
}
}
// Parse HTML Start Tag
public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes,int position) {
// 分析 Tag 的重點在這行
if (tag == HTML.Tag.BODY) {
this.inHeader = true;
}
}
// Parse HTML End Tag
public void handleEndTag(HTML.Tag tag, int position) {
if (tag == HTML.Tag.BODY) {
inHeader = false;
}
}
public static void main(String[] args) {
ParserGetter kit = new ParserGetter();
HTMLEditorKit.Parser parser = kit.getParser();
HTMLEditorKit.ParserCallback callback = new parseHTML();
try {
// 輸入欲分析的網頁
//URL u = new URL(args[0]);
URL u = new URL("http://mis.tse.com.tw/Quotes/Best5?refresh=0&StkNo=6129");
// 讀入網頁
InputStream in = u.openStream();
InputStreamReader r = new InputStreamReader(in);
// 呼叫 parse method 開始進行 Parse HTML
parser.parse(r, callback, true);
} catch (IOException e) {
System.err.println(e);
}
}
}
import javax.swing.text.html.*;url:http://www.javaworld.com.tw/jute/post/view?bid=5&id=70787&tpg=1&ppg=1&sty=0&age=0#70787
public class ParserGetter extends HTMLEditorKit {
//purely to make this methods public
public HTMLEditorKit.Parser getParser() {
return super.getParser();
}
}
沒有留言:
張貼留言