package com.lch.parser;
import org.htmlparser.Node;
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 HtmlPT {
public static void main(String[] args) throws ParserException {
String DivHtml = "";
Parser parser = new Parser();
parser.setURL("*****************");//地址
parser.setEncoding(parser.getEncoding());
NodeFilter filter = new TagNameFilter("DIV");
NodeList nodes = parser.extractAllNodesThatMatch(filter);
if(nodes != null){
for(int i=0; i<nodes.size(); i++){
Node textNode = (Node)nodes.elementAt(i);
//System.out.println("当前DIV : " + textNode.getText());
if(textNode.getText().equals("DIV class=Yaowentitle")){
DivHtml = textNode.toHtml();
System.out.println( textNode.toHtml());
pageLink(DivHtml);
}
}
}
}
public static void pageLink(String cStr) throws ParserException{
Parser parser = new Parser("<body>"+cStr+"</body>");
HtmlPage page = new HtmlPage(parser);
parser.visitAllNodesWith(page);
NodeList nodeList = page.getBody();
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 : " + link.getLink());
System.out.println("title : "+ link.getAttribute("TITLE"));
}
}
}
强大,比自己慢慢读取,要方便的多了!
分享到:
相关推荐
META-INF/maven/org.htmlparser/htmlparser/pom.properties META-INF/maven/org.htmlparser/htmlparser/pom.xml org.htmlparser.Parser.class org.htmlparser.PrototypicalNodeFactory.class org.htmlparser.beans....
使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...
在描述中提到的“org.htmlparser.Node”和其他的.class文件,这些都是HTMLParser库的核心组成部分。`org.htmlparser.Node` 是HTMLParser中的一个关键接口,它代表HTML文档中的一个节点,可以是元素(Element)、注释...
本项目名为"HTMLParser.net源代码HTMLParser.net使用demo",显然是一个包含示例代码的压缩包,用于展示如何在实际应用中使用HTMLParser.net。 HTMLParser.net的核心功能包括: 1. **HTML解析**:它能够将HTML字符...
`htmlparser.dll`是这个库的动态链接库文件,它包含了编译好的类和方法,可以直接在C#项目中引用以使用HTMLParser的功能。在C#项目中,我们可以通过添加对dll的引用来调用库中的方法,比如解析HTML字符串、查找特定...
htmlparser-1.2.1jar包下载htmlparser-1.2.1jar包下载
在“htmlparser.jar”中,包含了HTMLParser库的所有类和方法,使得开发人员可以将这个库集成到他们的Java项目中。使用jar文件,开发者可以直接导入并使用HTMLParser的API来解析和操作HTML文档。 "htmlparser实现从...
以下是对HTMLParser及其相关知识点的详细说明: 1. HTML解析:HTMLParser的设计目的是为了处理HTML文档的非结构化特性。由于HTML经常存在不规范的情况,如缺少闭合标签、嵌套错误等,HTMLParser通过容错机制,能够...
- **内容过滤**:过滤掉网页中的广告或不相关的信息,提供更纯净的阅读体验。 - **网页测试**:验证网页的结构是否符合预期,帮助开发者调试和修复HTML代码问题。 总之,HTMLParser 1.6作为一个强大且灵活的HTML...
`HtmlParser2003`可能是一个早期版本的源代码,而`AnalyzeHtml`和`WebParser`则可能是演示如何使用HtmlParser的项目。 1. **AnalyzeHtml**:这个项目可能展示了如何分析HTML文档,通过调用HtmlParser的API来提取...
以下是对`HtmlParser`及其相关知识点的详细说明: 1. **HTML解析**:HTMLParser提供了对HTML文档的解析能力,将HTML文本转换为可操作的对象模型。它能够处理嵌套标签、属性、注释以及实体引用等HTML元素。 2. **...
在很多Web抓取、信息提取以及网页分析的项目中,HTMLParser都是一个理想的工具。 HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、...
**HtmlParser 2.1 知识点详解** HtmlParser是一个强大的开源库,主要用于解析HTML文档,它在处理不规则的HTML结构时表现出了极高的灵活性和稳定性。这个"HtmlParser 2.1 码源"是该库的2015年6月的最新版本,包含了...
HTMLParser提供了两种主要的解析方式:事件驱动和DOM(Document Object Model)模型。这两个jar包——htmlparser.jar和htmllexer.jar,包含了实现这些功能所需的类和方法。 htmlparser.jar是核心库,它包含了...
在使用Winista.HtmlParser时,首先需要导入插件并实例化解析器。之后,通过调用解析方法,将HTML文本转换为树形结构的节点集合。这些节点代表了HTML文档的各个部分,包括元素节点、文本节点和注释节点等。开发者可以...
3. **错误处理**:HTML文档通常不严格按照规范编写,HTMLParser对此具有一定的容错能力,它可以处理一些语法错误和不完整的标签,为开发者提供更稳定的解析体验。 4. **灵活性**:HTMLParser提供了多种解析模式,...
在网页爬虫开发中,HTMLParser2.1.jar 提供了以下关键知识点: 1. **DOM解析**:HTMLParser2.1支持DOM(Document Object Model)解析方式,将HTML文档转换为树形结构,允许开发者通过节点遍历的方式访问网页元素。...
7. **自定义扩展**:拥有源码意味着我们可以根据需求对HTMLParser进行扩展,添加新的功能,比如增加新的选择器支持,优化性能,或者增强错误处理能力。 8. **集成测试**:虽然没有明确提及,但是一个成熟的库往往会...