HTML 解析 -- htmlparser 基本使用
来源:互联网 发布:电影推荐知乎2017 编辑:程序博客网 时间:2024/05/21 18:44
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();
}
}
- HTML 解析 -- htmlparser 基本使用
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML (C#版)
- 使用HtmlParser解析HTML (C#版)
- 使用Python的HTMLParser解析HTML文本
- python 模块-使用HTMLParser 解析html
- Python中使用HTMLParser解析HTML文档
- Python2.7 使用HTMLParser简单解析HTML
- HTMLParser解析html详解
- htmlparser 解析HTML 思路
- htmlparser 基本解析网站
- Java解析HTML之HTMLParser使用与详解
- Java解析HTML之HTMLParser使用与详解
- Java解析HTML之HTMLParser使用与详解
- Java解析HTML之HTMLParser使用与详解
- 调试时,用彩色来打印输出自己关心的数据
- 10个你闻所未闻的奇趣网站
- Vim 6.0 代码折叠
- 网络基础知识之笑傲江湖
- 基本会计凭证
- HTML 解析 -- htmlparser 基本使用
- pdoDB 内部函数
- KXML
- asp 新闻网中的相关新闻
- 微软公司面试题
- CreateIoCompletionPort和完成端口
- 管理一个ORACLE实例
- XmlPullParser 的例子
- C#中关于委托和事件的示例代码