转:http://gbfd2012.iteye.com/blog/685005
利用htmlparser在解析网页的url链接时,我们想提取指定标签下的链接。例如:div id=wrap下的链接,可以通过下面代码实现:
Parser parser = new Parser(url);
NodeFilter nodefilter1=new AndFilter(new TagNameFilter(nodename),new HasAttributeFilter(attr,attrvalue));
try {
org.htmlparser.util.NodeList nodeList=parser.extractAllNodesThatMatch(nodefilter1);
nodefilter1=new NodeClassFilter(LinkTag.class);
nodeList=nodeList.extractAllNodesThatMatch(nodefilter1,true);
for(org.htmlparser.Node node:nodeList.toNodeArray()){
if(node instanceof LinkTag){
LinkTag links=(LinkTag)node;
// if(links.extractLink().length()>textleaf.length()){
uArrayList.add(links.extractLink());
// }
}
}
但是发现在有时解析出的url网址没有全部被解析(是不是htmlparser的BUG)。举例说明下:
http://news.sina.com.cn/china/我们解析新浪新闻网下<div id="wrap">的链接,而用上述只能解析出http://news.sina.com.cn等四个网址,这是上述标签下的一个子标签的链接。而如果我们将网页中的Script,STYLE标签过滤掉之后,链接就都有了。。过滤Script、style等标签我是用的DOM树进行。
不知道有没有人知道上述问题的原因。
分享到:
相关推荐
本项目就是利用HTMLParser库来编写一个基础的网页爬虫,用于爬取新浪新闻的数据,并将抓取到的数据存储到Excel表格中。以下是关于这个项目的一些关键知识点和实现细节: 1. **HTMLParser库**:HTMLParser是一个开源...
通过这些知识点,我们可以了解到在进行网页抓取和分析时需要考虑的多个技术层面,并且理解如何结合这些技术来实现更加高效和精确的网页正文提取。这对于需要从互联网上提取数据进行分析的科研人员、数据分析师及...
本文将详细讲解如何使用Java的htmlparser库实现网页抓取,并探讨其核心概念和用法。 首先,从给定的代码示例中可以看出,这是一个简单的Java程序,用于从指定的URL抓取HTML内容并将其保存到本地文件。这个程序的...
网页下载代码分析 ```java 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.open...
【Java使用HTMLParser提取网页纯文本】\n\n在Java编程中,提取网页纯文本是一项常见的任务,尤其在数据抓取、信息分析等领域。HTMLParser是一个强大的Java库,专门用于解析HTML文档,提取其中的文本内容。下面我们将...
### HTMLParser实现网页爬虫的关键知识点 #### 一、HTMLParser简介 HTMLParser是一个纯Java编写的HTML解析库,它不依赖任何其他Java库。HTMLParser的主要用途是解析和提取HTML文档中的信息。该库以其高效性和准确性...
在这个案例中,Spring可能被用来管理应用程序的组件,如数据库连接、事务管理和服务层,将Heritrix、Lucene和htmlparser整合到一个统一的系统中。 在项目文件“heritrixProject”中,我们可以预期找到Heritrix的...
总之,HttpClient和HtmlParser结合使用,可以构建一个基础的网络爬虫,用于抓取和解析网页数据。它们提供了一种有效的方式,让开发者能够轻松地与Web服务器交互,并处理返回的HTML内容,从而实现各种Web数据挖掘和...
在使用 HttpClient 时,通常我们需要先创建一个 HttpClient 实例,然后配置连接超时等参数。接着,我们可以创建一个 GetMethod 或 PostMethod 对象来发起请求。在本例中,我们关注 GET 请求,即通过 GetMethod 对象...
在IT领域,网络爬虫是获取大量数据的重要手段,尤其对于数据分析、研究和自动化信息处理。本案例聚焦于使用Java语言结合`httpclient`库进行网络请求,以及`htmlparser`库解析HTML文档,实现一个基础的爬虫程序。下面...
综上所述,JSoup作为一款强大的HTML处理工具,无论是解析、提取还是操作HTML内容,都展现出了其高效和易用性,尤其适合于那些需要处理和分析网页内容的项目。在HTMLParser不再活跃的情况下,JSoup无疑是开发者的一个...
在网页分析场景下,HTMLParser可以辅助我们更高效地处理和提取网页数据,例如查找特定元素、提取图片URL或者筛选出特定类别的内容。 在使用这些库构建简易爬虫时,通常的步骤如下: 1. **初始化HttpClient**:设置...
### HTMLParser 使用详解 #### 一、HTMLParser简介与核心模块 ...HTMLParser虽然文档较少,但其实现灵活多变,非常适合用于网页内容的抓取与分析任务。希望本文能够帮助初学者更好地理解和使用HTMLParser。
总的来说,HTMLPARSER和HTTPCLIENT是构建网络爬虫的重要工具,它们可以帮助开发者高效地抓取和解析网页数据,从而实现自动化的信息收集和分析。通过不断学习和实践,你可以掌握更多网络爬虫的技巧,应对更复杂的网页...
在网络爬虫项目中,HttpClient和HtmlParser常结合使用,HttpClient负责获取网页内容,HtmlParser则负责解析内容并提取有用信息。为了实现更复杂的爬虫功能,如处理JavaScript渲染的页面、模拟登录、反反爬虫策略等,...
在某些复杂或者特殊需求的爬虫项目中,可能需要利用HtmlParser和htmllexer对HTML进行细致的分析和处理,比如在面对非标准HTML或者需要提取特定结构时。 在实际开发中,选择HttpClient进行网络请求,jsoup进行HTML...
总之,利用HttpClient和HtmlParser(如Jsoup)可以方便地构建一个Java网络爬虫,用于抓取和分析网页信息。在"SearchEngine"项目中,你可以根据需求定制爬虫,实现搜索引擎的功能,高效地获取和处理大量网页数据。
在IT行业中,获取网页数据是常见的任务之一,用于数据分析、信息抓取或自动化测试等场景。HttpClient和HtmlParser是两个非常实用的Java库,分别用于处理HTTP通信和解析HTML内容。下面将详细介绍这两个库以及如何结合...