1.下载:http://htmlparser.sourceforge.net
2.htmlparser是一个纯的java写的html解析的库,htmlparser不依赖于其它的
java库,htmlparser主要用于改造或提取html。htmlparser能超高速解析html
,而且不会出错。毫不夸张地说,htmlparser就是目前最好的html解析和分析
的工具。无论你是想抓取网页数据还是改造html的内容,用了htmlparser绝对
会忍不住称赞。由于htmlparser 结构设计精良,所以扩展htmlparser 非常便
利。
3.实例:
package html;
import java.util.Properties;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.util.NodeList;
public class TestHtmlParser {
public static void main(String[] args) throws Exception {
String eu = null;
String tmp = null;
float euBid = 0f; // 欧元兑美元的卖价
float euOffer = 0f; // 欧元兑美元的买价
Properties prop = System.getProperties();
prop.put("http.proxyHost", "172.11.2.246");
prop.put("http.proxyPort", "8080");
Parser parser = new Parser(
"http://secure.efxnow.com/Rates2/CHN/Rates_CHN.aspx");
TagNameFilter filter = new TagNameFilter("TD");
NodeList nl = parser.extractAllNodesThatMatch(filter);
System.out.println(nl.toHtml());
for (int i = 1; i < nl.size(); i++) {
tmp = nl.elementAt(i).toPlainTextString();
if (tmp.indexOf("EUR/USD") > 0) {
eu = nl.elementAt(i + 1).toPlainTextString();
}
}
eu = eu.replaceAll(" ", "");
eu = eu.replaceAll(" ", "");
euBid = Float.parseFloat(eu.substring(0, 6));
euOffer = Float.parseFloat(eu.substring(0, 4) + eu.substring(7, 9));
System.out.println("EUR/USD Bid price is " + euBid);
System.out.println("EUR/USD Offer price is " + euOffer);
}
}