`
elan1986
  • 浏览: 166961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HtmlParser初体验

 
阅读更多
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"));
		}
	}
}

强大,比自己慢慢读取,要方便的多了!
分享到:
评论

相关推荐

    htmlparser

    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

    使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...

    htmlparser.jar文件

    在描述中提到的“org.htmlparser.Node”和其他的.class文件,这些都是HTMLParser库的核心组成部分。`org.htmlparser.Node` 是HTMLParser中的一个关键接口,它代表HTML文档中的一个节点,可以是元素(Element)、注释...

    HTMLParser.net源代码HTMLParser.net使用demo

    本项目名为"HTMLParser.net源代码HTMLParser.net使用demo",显然是一个包含示例代码的压缩包,用于展示如何在实际应用中使用HTMLParser.net。 HTMLParser.net的核心功能包括: 1. **HTML解析**:它能够将HTML字符...

    htmlparser-1.2.1 jar

    htmlparser-1.2.1jar包下载htmlparser-1.2.1jar包下载

    htmlparser库与教程

    在“htmlparser.jar”中,包含了HTMLParser库的所有类和方法,使得开发人员可以将这个库集成到他们的Java项目中。使用jar文件,开发者可以直接导入并使用HTMLParser的API来解析和操作HTML文档。 "htmlparser实现从...

    htmlparser网页分析

    以下是对HTMLParser及其相关知识点的详细说明: 1. HTML解析:HTMLParser的设计目的是为了处理HTML文档的非结构化特性。由于HTML经常存在不规范的情况,如缺少闭合标签、嵌套错误等,HTMLParser通过容错机制,能够...

    c#版htmlparser htmlparser.dll htmlparser源代码

    `htmlparser.dll`是这个库的动态链接库文件,它包含了编译好的类和方法,可以直接在C#项目中引用以使用HTMLParser的功能。在C#项目中,我们可以通过添加对dll的引用来调用库中的方法,比如解析HTML字符串、查找特定...

    htmlparser1.6最新版

    - **内容过滤**:过滤掉网页中的广告或不相关的信息,提供更纯净的阅读体验。 - **网页测试**:验证网页的结构是否符合预期,帮助开发者调试和修复HTML代码问题。 总之,HTMLParser 1.6作为一个强大且灵活的HTML...

    Winista.Htmlparser.Net 源码 +Demo

    `HtmlParser2003`可能是一个早期版本的源代码,而`AnalyzeHtml`和`WebParser`则可能是演示如何使用HtmlParser的项目。 1. **AnalyzeHtml**:这个项目可能展示了如何分析HTML文档,通过调用HtmlParser的API来提取...

    HtmlParser源码及demo

    以下是对`HtmlParser`及其相关知识点的详细说明: 1. **HTML解析**:HTMLParser提供了对HTML文档的解析能力,将HTML文本转换为可操作的对象模型。它能够处理嵌套标签、属性、注释以及实体引用等HTML元素。 2. **...

    htmlParser.jar包

    在很多Web抓取、信息提取以及网页分析的项目中,HTMLParser都是一个理想的工具。 HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、...

    HtmlParser 2.1 码源

    **HtmlParser 2.1 知识点详解** HtmlParser是一个强大的开源库,主要用于解析HTML文档,它在处理不规则的HTML结构时表现出了极高的灵活性和稳定性。这个"HtmlParser 2.1 码源"是该库的2015年6月的最新版本,包含了...

    Winista.HtmlParser.zip

    在使用Winista.HtmlParser时,首先需要导入插件并实例化解析器。之后,通过调用解析方法,将HTML文本转换为树形结构的节点集合。这些节点代表了HTML文档的各个部分,包括元素节点、文本节点和注释节点等。开发者可以...

    htmlparser-1.0.5

    3. **错误处理**:HTML文档通常不严格按照规范编写,HTMLParser对此具有一定的容错能力,它可以处理一些语法错误和不完整的标签,为开发者提供更稳定的解析体验。 4. **灵活性**:HTMLParser提供了多种解析模式,...

    htmlparser的jar包

    HTMLParser提供了两种主要的解析方式:事件驱动和DOM(Document Object Model)模型。这两个jar包——htmlparser.jar和htmllexer.jar,包含了实现这些功能所需的类和方法。 htmlparser.jar是核心库,它包含了...

    htmlparser2.1.jar

    在网页爬虫开发中,HTMLParser2.1.jar 提供了以下关键知识点: 1. **DOM解析**:HTMLParser2.1支持DOM(Document Object Model)解析方式,将HTML文档转换为树形结构,允许开发者通过节点遍历的方式访问网页元素。...

    HtmlParser c#源码+demo

    7. **自定义扩展**:拥有源码意味着我们可以根据需求对HTMLParser进行扩展,添加新的功能,比如增加新的选择器支持,优化性能,或者增强错误处理能力。 8. **集成测试**:虽然没有明确提及,但是一个成熟的库往往会...

Global site tag (gtag.js) - Google Analytics