import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;
/**
* <br>
* 标题: <br>
* 功能概要: <br>
* 版权: cityyouth.cn (c) 2005 <br>
* 公司:上海城市青年网 <br>
* 创建时间:2005-12-21 <br>
* 修改时间: <br>
* 修改原因:
*
* @author 张伟
* @version 1.0
*/
public class TestYahoo {
public static void testHtml() {
try {
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
java.io.InputStream l_urlStream;
java.net.URL l_url = new java.net.URL(
"http://sports.sina.com.cn/iframe/nba/live/");
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url
.openConnection();
l_connection.connect();
l_urlStream = l_connection.getInputStream();
java.io.BufferedReader l_reader = new java.io.BufferedReader(
new java.io.InputStreamReader(l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
sTotalString += sCurrentLine;
}
System.out.println(sTotalString);
System.out.println("====================");
String testText = extractText(sTotalString);
System.out.println(testText);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 抽取纯文本信息
*
* @param inputHtml
* @return
*/
public static String extractText(String inputHtml) throws Exception {
StringBuffer text = new StringBuffer();
Parser parser = Parser.createParser(new String(inputHtml.getBytes(),
"8859_1"), "8859-1");
// 遍历所有的节点
NodeList nodes = parser.extractAllNodesThatMatch(new NodeFilter() {
public boolean accept(Node node) {
return true;
}
});
Node node = nodes.elementAt(0);
text.append(new String(node.toPlainTextString().getBytes("8859_1")));
return text.toString();
}
/**
* 读取文件的方式来分析内容. filePath也可以是一个Url.
*
* @param resource
* 文件/Url
*/
public static void test5(String resource) throws Exception {
Parser myParser = new Parser(resource);
// 设置编码
myParser.setEncoding("GBK");
String filterStr = "table";
NodeFilter filter = new TagNameFilter(filterStr);
NodeList nodeList = myParser.extractAllNodesThatMatch(filter);
TableTag tabletag = (TableTag) nodeList.elementAt(11);
System.out.println(tabletag.toHtml());
System.out.println("==============");
}
/*
* public static void main(String[] args) { TestYahoo testYahoo = new
* TestYahoo(); testYahoo.testHtml(); }
*/
public static void main(String[] args) throws Exception {
test5("http://sports.yahoo.com/nba/scoreboard");
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jinxi/archive/2007/01/18/1487017.aspx
分享到:
相关推荐
以下是一个简单的示例,展示了如何使用HTMLParser抓取网页的标题: ```java import org.htmlparser.Parser; import org.htmlparser.util.NodeIterator; import org.htmlparser.util.ParserException; import org....
本项目以"htmlparser抓取网页内容"为主题,具体实践了如何利用HTMLParser库来从国家专利局的网站上抓取专利状态信息。 首先,我们要理解HTMLParser的工作原理。HTMLParser是Python的内置库,它提供了一个基础的事件...
`利用htmlparser抓取网页内容(一) - 老妖的博客 - BlogJava.htm`和`分析-解析Html页面HTML Parser的试用 - 记忆有问题!!! - CSDN博客.htm`、`解析Html页面HTML Parser的试用 - 飞云小侠(scud)专栏 - CSDN博客.htm`...
本文将详细介绍如何利用HtmlParser这一开源工具来提取网页中的关键信息,并通过数据清洗将其存储到SQL数据库中,以便后续的数据分析和应用。 #### 二、HtmlParser概述 HtmlParser是一种轻量级、高效且易于使用的...
"htmlparser实现从网页上抓取数据.doc"文件则很可能是一个详细的教程,指导用户如何利用HTMLParser库进行网页数据抓取。在这个教程中,可能会涵盖以下关键知识点: 1. **安装和引入HTMLParser**:首先,用户需要将...
本项目就是利用HTMLParser库来编写一个基础的网页爬虫,用于爬取新浪新闻的数据,并将抓取到的数据存储到Excel表格中。以下是关于这个项目的一些关键知识点和实现细节: 1. **HTMLParser库**:HTMLParser是一个开源...
使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...
2. **WebParser**:可能是一个简单的网页抓取器,利用HtmlParser解析网页,提取所需信息,例如新闻标题、链接等。 开发者可以打开`AnalyzeHtml.sln`,编译并运行这两个项目,以了解HtmlParser的具体使用方法和实际...
然而,这段代码仅实现了基础的网页抓取功能,没有利用HTMLParser库的优势。HTMLParser库提供了一系列方法和接口,如`Parser`类和`NodeVisitor`接口,可以更深入地解析HTML文档: - `Parser`: HTMLParser的核心类,...
例如,新闻网站的爬虫可能会使用HTMLParser抓取每篇新闻的标题和内容;电商网站的测试工具可能利用HTMLParser检查商品列表是否正确显示。 然而,需要注意的是,HTMLParser虽强大,但并不能解决所有的HTML解析问题。...
通过HTTP或HTTPS协议,它可以获取网页的源代码,并利用内置的解析机制对抓取到的HTML进行分析。开发者可以设置规则来选择性地抓取特定元素,如链接、标题、段落等,这对于构建网络爬虫非常有用。例如,你可以编写...
通过引入HttpClient.jar包,开发者可以模拟IE浏览器来获取网页内容,非常适合需要丰富和灵活HTTP功能的应用程序。另外,文章还介绍了HTMLParser,这是一个用来解析HTML文件的Java库,它能够超高速实时解析HTML文件,...
- `sitecapturer.jar` 可能是一个完整的网站捕获工具,利用HTMLParser抓取和保存整个网站的静态副本。 使用HTMLParser可以进行各种应用,如搜索引擎爬虫、社交媒体数据分析、新闻聚合、电商价格监控等。开发者可以...
这些组件可以帮助开发者更好地实现从网络获取HTML内容,然后用HTMLParser进行解析。 总之,`c#版htmlparser htmlparser.dll htmlparser源代码`提供了一个C#实现的HTML解析工具,可以帮助开发者高效地处理HTML文档,...
在这个例子中,我们将深入理解如何利用HTMLParser来抓取指定网站的数据。 首先,HTMLParser库提供了一个解析器类,它能够读取HTML源码,并将其转化为易于处理的结构。通过这个库,我们可以方便地定位和提取页面上的...
利用HTMLParser进行超链接提取的过程主要包括以下几个步骤: 1. **加载HTML文档**:使用HTMLParser加载待分析的HTML文档。 2. **定义过滤器**:根据需求定义过滤器来筛选出包含超链接的HTML元素。 3. **提取超链接*...
在很多Web抓取、信息提取以及网页分析的项目中,HTMLParser都是一个理想的工具。 HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、...
HTMLParser是一款强大的库,用于解析HTML文档,它提供了C#和Java两种编程语言的实现,使得开发者在处理HTML内容时有了更多的灵活性。...通过熟练掌握和利用HTMLParser,可以提升项目效率,优化代码质量。
它提供了简单且灵活的方式来处理HTML标记,使得在Java程序中操作和分析HTML内容变得容易...有了这个压缩包中包含的所有jar包,你将能够充分利用HTMLParser的功能,无论你是进行简单的文本提取还是复杂的网页处理任务。
HTMLParser2.1.jar 是一个基于Java的网页解析库,主要功能是帮助开发者抓取、解析和处理HTML网页内容。这个库特别适用于构建网络爬虫项目,它提供了丰富的API和功能,使得处理复杂的HTML结构变得相对简单。在Java...