HTML 解析 -- htmlparser 基本使用
2010-07-05 16:30
513 查看
1.htmlparser
使用
htmlparser是一个纯的
java
写的
html
解析的库,
htmlparser
不依赖于其它的
java
库,
htmlparser
主要用于改造
或提取
html
。
htmlparser
能超高速解析
html
,而且不会出错。毫不夸张地说,
htmlparser
就是目前最好的
html
解
析和分析的工具。无论你是想抓取网页数据还是改造
html
的内容,用了
htmlparser
绝对会忍不住称赞。由于
htmlparser
结构设计精良,所以扩展
htmlparser
非常便利。
package com.sjcj.main;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.HtmlPage;
public class TestHtmlParser {
/**
* 按行读取字符
*/
public static void StringHerf() {
String str = "";
StringBuffer sb = new StringBuffer();
BufferedReader is = null;
try {
is = new BufferedReader(new FileReader(""));
while ((str = is.readLine()) != null) {
sb.append(str);
sb.append("/n");
}
try {
} catch (Exception e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* htmlparser取得一段html代码里面所有的链接地址和链接名称
*
* @param html
*/
public static void getHERF(String html) {
// 创建Parser对象根据传给字符串和指定的编码
Parser parser = Parser.createParser(html, "GBK");
// 创建HtmlPage对象HtmlPage(Parser parser)
HtmlPage page = new HtmlPage(parser);
try {
// HtmlPage extends visitor,Apply the given visitor to the
current
// page.
parser.visitAllNodesWith(page);
} catch (ParserException e1) {
e1 = null;
}
// 所有的节点
NodeList nodelist = page.getBody();
// 建立一个节点filter用于过滤节点
NodeFilter filter = new TagNameFilter("A");
// 得到所有过滤后,想要的节点
nodelist = nodelist.extractAllNodesThatMatch(filter, true);
for (int i = 0; i < nodelist.size(); i++) {
LinkTag link = (LinkTag) nodelist.elementAt(i);
// 链接地址
System.out.println(link.getAttribute("href") + "/n");
// 链接名称
System.out.println(link.getStringText());
}
}
/**
* 获取网页标题
*
* @param content
* @throws Exception
*/
public static void getTitle(String content) throws Exception {
Parser myParser;
myParser = Parser.createParser(content, "GBK");
HtmlPage visitor = new HtmlPage(myParser);
myParser.visitAllNodesWith(visitor);
String textInPage = visitor.getTitle();
System.out.println(textInPage);
}
public static void main(String[] args) {
StringHerf();
}
}
相关文章推荐
- Python中使用HTMLParser解析html实例
- Python中使用HTMLParser解析HTML文档
- 使用HTMLParser解析html
- 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- .net HTMLParser详细使用说明 强大的Filter类 解析HTML文档如此简单
- .net HTMLParser详细使用说明 强大的Filter类 解析HTML文档如此简单
- python 模块-使用HTMLParser 解析html
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- Python2.7 使用HTMLParser简单解析HTML
- HTML解析库--Jsoup的基本使用
- 使用Python的HTMLParser解析HTML文本
- 黄聪:使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
- 在Python中使用HTMLParser解析HTML的教程
- Python中使用HTMLParser解析html实例
- 使用HTMLParser 解析html字符串,去除html标签,提取纯文本
- 使用HtmlParser解析HTML
- Python使用BeautifulSoup库解析HTML基本使用教程
- 使用HtmlParser解析HTML