HtmlParser有三种解析方式,visitor模式,filter模式,bean模式
filter模式
public List<URL> parserByFilter(URL url) throws ParserException, MalformedURLException{
List<URL> result = new ArrayList<URL>();
Parser parser = new Parser();
parser.setURL(url.toString());
//设置编码
parser.setEncoding(parser.getEncoding());
NodeFilter filter = new NodeClassFilter(LinkTag.class);//过滤器
NodeList list = parser.extractAllNodesThatMatch(filter);//过滤所有链接
//遍历结果
for(int i=0;i<list.size();i++){
LinkTag tag = (LinkTag) list.elementAt(i);
if(tag.getLink().startsWith("http://")){
URL link = new URL(tag.getLink());
result.add(link);
}
System.out.println(tag.getLink());
}
return result;
}
visitor模式:
public void parserByVisitor() throws Exception{
Parser parser = new Parser();
parser.setURL("http://www.baidu.com");
System.out.println(parser.getEncoding());
NodeVisitor visitor = new NodeVisitor() {
@Override
public void visitTag(Tag tag) {
System.out.println(tag.getTagName());
if(tag.getTagName().equals("META")){
System.out.println(tag.getAttributeEx("content").getValue());
}
}
};
parser.visitAllNodesWith(visitor);
bean模式不想用。。。。。
分享到:
相关推荐
在本文中,我们将深入探讨如何使用C#编程语言和HTMLParser库来抓取并解析百度MP3页面中的音频地址。这个过程涉及到网络请求、HTML解析以及数据提取等关键概念。 首先,我们需要理解C#的基本语法和.NET框架。C#是一...
### JAVA HtmlParser 使用实例详解 在Java开发过程中,解析HTML文档是一项常见的需求,尤其是在处理Web爬虫、数据抓取等应用场景时。`HtmlParser`库为开发者提供了一种简便的方式来解析HTML文档,并从中提取所需的...
以下是如何使用HtmlParser实现网络爬虫的关键知识点: 1. **HtmlParser库**:HtmlParser是一个强大的HTML解析器,它能够解析HTML文档,将其转换为一个可操作的节点树,方便开发者通过节点过滤和遍历来获取目标信息...
2. **创建解析器**:创建一个HTMLParser实例,然后设置解析选项,如是否忽略错误或使用特定的解析策略。 3. **注册事件处理器**:通过实现HTMLParserListener接口,可以创建自定义的事件处理器,处理解析过程中触发...
1. **初始化解析器**:首先创建HtmlParser实例。 2. **加载HTML文档**:将目标网页的HTML内容加载到解析器中。 3. **遍历节点**:遍历解析后的Node树,查找包含超链接信息的特定节点。 4. **提取链接信息**:从找到...
1. **解析器初始化**:首先,创建一个HtmlParser实例,然后调用其ParseDocument或ParseFragment方法加载HTML内容。 2. **CSS选择器查询**:使用SelectElements或SelectSingleNode方法,结合CSS选择器来选取目标元素...
- (1) 初始化:创建HTMLParser实例,设置解析器的行为模式(例如忽略错误、宽松模式等)。 - (2) 事件驱动:当解析到特定的HTML元素时,如开始标签、结束标签、文本等,解析器会触发相应的事件,开发者可以通过注册...
将HTML内容传递给自定义的HTMLParser实例进行解析。 解析过程中,可能需要关注的HTML标签包括`<a>`(链接)、`<span>`(包含具体信息的标签)等。开发者可能通过查找特定的类名、ID或者属性值来定位到包含专利状态...
本压缩包包含了HTMLParser项目所需的一系列...例如,可以创建一个HTMLParser实例,设置解析规则,然后解析网页,提取出指定的链接、文本或特定标签的内容。对于处理大量不规则HTML的项目,HTMLParser是一个强大的工具。
- 解析器初始化:创建HTMLParser实例,并设置解析策略,如是否忽略不合规的HTML标签。 - 开始解析:调用parse方法,传入HTML文档的输入流或字符串。 - 事件处理:在解析过程中,遇到标签开始、结束、文本等事件时,...
1. **初始化HttpClient和HtmlParser实例:** 创建HttpClient和HtmlParser对象。 2. **发起HTTP请求:** 使用HttpClient发起GET请求获取网页内容。 3. **解析HTML内容:** 使用HtmlParser解析返回的HTML文档。 ...
通过阅读提供的`C# HtmlParser使用实例.doc`文档,你可以深入了解如何利用这个库来满足你的具体需求。同时,`winsta.Htmlparser.chm`帮助文档是宝贵的参考资料,包含了详细的API说明和技术细节。记住,理解并熟练...
这段代码首先创建了一个HtmlParser实例,然后解析HTML内容,并通过CSS选择器`"h2.title"`找到所有的标题元素,最后将这些标题打印出来。这就是Winista.Htmlparser强大之处的直观体现。 总结来说,Winista....
以下是一个简单的HTMLParser实例,用于打印出遇到的所有文本: ```python from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_data(self, data): print(data) parser = ...
我们将详细解析"z_mysearch"相较于旧版本的改进之处,以及在实际应用中如何利用HTMLParser实例进行高效网页解析。 首先,Lucene是一个开源的全文检索库,它提供了高级的搜索功能,包括布尔查询、短语查询、模糊查询...
2. 初始化:在构造函数中,打开指定路径的HTML文件,读取内容并创建HTMLParser实例。这里可能需要处理异常,如文件不存在或读取错误。 3. 解析方法:设计一个`parse()`方法,调用HTMLParser的解析方法,将HTML内容...
这个实例是关于如何使用HTMLParser库来抓取和处理气象信息的。在Web开发和数据抓取领域,了解如何解析HTML页面对于获取网络上的结构化数据至关重要。在这个特定的实例中,我们将探讨如何利用HTMLParser库来实现这一...
HTMLParser.net是一个强大的.NET框架库,专为解析HTML文档...例如,如何创建一个解析器实例,如何使用CSS选择器选取元素,如何监听解析事件等。这些示例将帮助新手快速上手,同时对有经验的开发者也有一定的参考价值。
3. **解析HTML**:学习如何使用`HTMLParser`实例解析HTML字符串或从URL读取HTML内容。这通常涉及到创建`Parser`对象,然后调用`parse()`方法。 4. **遍历和访问HTML元素**:HTMLParser提供了对HTML文档节点的遍历...
四、应用实例 HtmlParser在多种场景下都有广泛的应用: 1. **数据抓取**:从网页中抓取特定信息,如产品价格、评论内容等。 2. **网页自动化**:用于自动填写表单、点击按钮等操作,实现网页自动化测试。 3. **...