1、以EMAIL为例:(以这个网页为例http://www.qunar.com/site/zh/Cooperate_4.shtml)
package extract;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.NodeClassFilter;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
public class extracthtmllinkemail {
/**
* @param args
*/
public static String getText(String f){
StringBuffer sb=new StringBuffer();
try {
Parser parser=new Parser(f);
parser.setEncoding("UTF-8");
NodeFilter filter=new NodeClassFilter(){
public boolean accept(Node node){
return (LinkTag.class.isAssignableFrom(node.getClass())&&((LinkTag)node).isMailLink());
}
};
NodeList links=new NodeList();
for (NodeIterator e=parser.elements();e.hasMoreNodes();){
e.nextNode().collectInto(links, filter);
}
for (int i=0;i<links.size();i++){
LinkTag linktag=(LinkTag)links.elementAt(i);
sb.append("\n|"+linktag.getLinkText()+"|=>"+linktag.getLink());
}
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s=getText("./htmls/Qunar_com.htm");
System.out.print(s);
}
}
效果如下:
|Adservice@qunar.com|=>adservice@qunar.com
|adservice@qunar.com|=>adservice@qunar.com
2、以(www.hao123.com)为例,提取js链接
代码
package extract;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.NodeClassFilter;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
public class extracthtmllinkemail {
/**
* @param args
*/
public static String getText(String f){
StringBuffer sb=new StringBuffer();
try {
Parser parser=new Parser(f);
parser.setEncoding("GB2312");
NodeFilter filter=new NodeClassFilter(){
public boolean accept(Node node){
return (LinkTag.class.isAssignableFrom(node.getClass())&&((LinkTag)node).isJavascriptLink());
}
};
NodeList links=new NodeList();
for (NodeIterator e=parser.elements();e.hasMoreNodes();){
e.nextNode().collectInto(links, filter);
}
for (int i=0;i<links.size();i++){
LinkTag linktag=(LinkTag)links.elementAt(i);
sb.append("\n|"+linktag.getLinkText()+"|=>"+linktag.getLink());
}
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s=getText("./htmls/hao123.htm");
System.out.print(s);
}
}
效果如下:
|我的hao123|=>void(0);
|我喜欢的网站:|=>void(0)
|我定制的网站:|=>void(0)
分享到:
相关推荐
开发者可能会在这里看到如何设置Heritrix的爬虫规则,如何使用Spring来组织和管理各个组件,以及如何使用htmlparser来解析抓取的网页内容并准备它们供Lucene索引。 综上所述,这个项目涉及到的关键技术包括使用...
标题中的“lucene_JE分词_htmlParser--jar包”表明这是一个包含与Lucene、JE分词和HTMLParser相关的Java库的集合。这些组件在IT领域中有着特定的应用,特别是对于文本处理和搜索引擎构建。 首先,让我们详细了解...
- **2.3.4 URL地址提取**:探讨了如何有效地从网页中提取链接信息。 - **2.3.5 抓取JavaScript动态页面**:介绍了处理动态网页抓取的技术。 - **2.3.6 抓取即时信息**:讲解了如何捕获实时更新的信息。 - **...
ContentExtractor是HtmlParser中用于提取网页正文的一个类,通过实现特定的方法可以定制化地提取网页中的正文内容。以下是使用ContentExtractor的一个简单示例: ```java public static void main(String[] args) ...
总的来说,“Lucene实现的数码产品垂直搜索引擎”是一个综合运用了Lucene全文检索能力、HTMLParser的网页解析以及DWZ前端框架的项目,旨在提供高效、精准的数码产品搜索服务。通过这样的垂直搜索引擎,用户可以更快...
**6.4 优化使用Lucene** - **优化措施:** - 索引优化 - 查询优化 - 实现时间加权排序 - 实现字词混合索引 - 定制Similarity - 定制Tokenizer **6.5 查询大容量索引** - **高效查询策略:** 如何高效地查询大...
书中详细阐述了如何使用HTMLParser从网页中提取有用的信息,并将其转化为可被搜索引擎索引的形式。 #### 十一、DWR - Direct Web Remoting (DWR) 是一种简化Ajax编程的技术。在本章节中,作者介绍了如何利用DWR...
- **提取垂直行业信息**:探讨了在医疗、旅游等行业中如何提取特定信息。 - **流媒体内容提取**:涵盖了音频流和视频流内容的提取方法。 - **存储提取内容**:介绍了将提取的内容存入数据库或写入维基等存储方式。 ...
- **4.1.1 HtmlParser介绍**:介绍HtmlParser的功能及其使用方法。 - **4.1.2 结构化信息提取**:讲解如何从HTML中提取结构化信息。 - **4.1.3 网页去噪**:去除网页中的广告、导航栏等无用信息。 - **4.1.4 ...
URL管理器负责维护待抓取的网址队列,下载器负责获取网页内容,解析器则分析网页内容,提取所需信息,并可能发现新的链接,循环这一过程。 2. **Java爬虫项目**: - `spider`:可能是一个Java爬虫框架或项目的名称...
在文件搜索场景中,HTMLParser可以帮助提取网页中的文本内容,将其转化为可供Lucene索引的形式。这样,即使搜索目标隐藏在HTML标签中,也能被有效地找到。 Highlighter是另一个重要的组件,用于高亮显示搜索结果中...
在"z_mysearch"中,HTMLParser被用来提取网页的关键词、标题、描述等重要信息,这些信息对于搜索引擎理解和排名网页至关重要。通过定制解析规则,可以确保关键信息的准确性,同时过滤掉无用或重复的内容,提高搜索...
在本文中,我们将深入探讨如何构建一个针对手机信息的垂直搜索引擎,该系统利用Eclipse和Dreamweaver作为开发工具,结合Heritrix、HTMLParser、MySQL数据库、Lucene以及JSP技术,为用户提供高效且精准的搜索体验。...
5. **分词和索引**:Nutch 内置了Lucene库,用于对抓取的网页内容进行分词和创建倒排索引,便于后续的搜索操作。 6. **国际化支持**:Nutch 支持多种语言的网页抓取和处理,包括中文,通过插件机制可以添加新的语言...
2. **链接解析**:Nutch使用`Parser`接口解析下载的HTML文档,提取出其中的链接、标题、内容等元数据。`HTMLParser`实现了这个接口,可以解析HTML并生成`TextDocument`对象。 3. **分词与索引**:Nutch使用Apache ...
在本文中,搜索引擎的开发注重于实用性和效率,使用了Eclipse集成开发环境进行代码编写和管理,同时利用了Htmlparser工具来解析HTML文档,Htmlparser可以方便地从HTML文件中提取文本和链接信息,这对网络爬虫的开发...
该项目采用了JavaSE、JavaWeb等技术栈作为基础,结合了JSP/Servlet、Lucene、MyBatis、HttpClient、HtmlParser等技术组件。这些技术的选择考虑到了系统的灵活性、扩展性和性能需求。 - **JSP/Servlet**:用于构建...