`
liuxinglanyue
  • 浏览: 557426 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

htmlparser分析网页链接时的问题

阅读更多

转: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的网页爬虫和java调用excel代码

    本项目就是利用HTMLParser库来编写一个基础的网页爬虫,用于爬取新浪新闻的数据,并将抓取到的数据存储到Excel表格中。以下是关于这个项目的一些关键知识点和实现细节: 1. **HTMLParser库**:HTMLParser是一个开源...

    基于HttpClient与HTMLParser 的网页正文提取

    通过这些知识点,我们可以了解到在进行网页抓取和分析时需要考虑的多个技术层面,并且理解如何结合这些技术来实现更加高效和精确的网页正文提取。这对于需要从互联网上提取数据进行分析的科研人员、数据分析师及...

    htmlparser下载网页

    网页下载代码分析 ```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提取网页纯文本例子

    【Java使用HTMLParser提取网页纯文本】\n\n在Java编程中,提取网页纯文本是一项常见的任务,尤其在数据抓取、信息分析等领域。HTMLParser是一个强大的Java库,专门用于解析HTML文档,提取其中的文本内容。下面我们将...

    搜索引擎Lucene Herritrix htmlparser

    在这个案例中,Spring可能被用来管理应用程序的组件,如数据库连接、事务管理和服务层,将Heritrix、Lucene和htmlparser整合到一个统一的系统中。 在项目文件“heritrixProject”中,我们可以预期找到Heritrix的...

    使用 HttpClient 和 HtmlParser 实现简易网络爬虫

    总之,HttpClient和HtmlParser结合使用,可以构建一个基础的网络爬虫,用于抓取和解析网页数据。它们提供了一种有效的方式,让开发者能够轻松地与Web服务器交互,并处理返回的HTML内容,从而实现各种Web数据挖掘和...

    使用 HttpClient 和 HtmlParser 实现简易爬虫

    在使用 HttpClient 时,通常我们需要先创建一个 HttpClient 实例,然后配置连接超时等参数。接着,我们可以创建一个 GetMethod 或 PostMethod 对象来发起请求。在本例中,我们关注 GET 请求,即通过 GetMethod 对象...

    爬数据案例 httpclient htmlparser

    在IT领域,网络爬虫是获取大量数据的重要手段,尤其对于数据分析、研究和自动化信息处理。本案例聚焦于使用Java语言结合`httpclient`库进行网络请求,以及`htmlparser`库解析HTML文档,实现一个基础的爬虫程序。下面...

    jsoup网页内容分析

    综上所述,JSoup作为一款强大的HTML处理工具,无论是解析、提取还是操作HTML内容,都展现出了其高效和易用性,尤其适合于那些需要处理和分析网页内容的项目。在HTMLParser不再活跃的情况下,JSoup无疑是开发者的一个...

    Commons-httpClient3.1.Jar,htmllexer.jar,htmlparser.jar

    在网页分析场景下,HTMLParser可以辅助我们更高效地处理和提取网页数据,例如查找特定元素、提取图片URL或者筛选出特定类别的内容。 在使用这些库构建简易爬虫时,通常的步骤如下: 1. **初始化HttpClient**:设置...

    使用HTMLPARSER和HTTPCLIENT制作网络爬虫,附赠相关技术文档。

    总的来说,HTMLPARSER和HTTPCLIENT是构建网络爬虫的重要工具,它们可以帮助开发者高效地抓取和解析网页数据,从而实现自动化的信息收集和分析。通过不断学习和实践,你可以掌握更多网络爬虫的技巧,应对更复杂的网页...

    HttpClient&&HtmlParser(Crawler)网络爬虫

    在网络爬虫项目中,HttpClient和HtmlParser常结合使用,HttpClient负责获取网页内容,HtmlParser则负责解析内容并提取有用信息。为了实现更复杂的爬虫功能,如处理JavaScript渲染的页面、模拟登录、反反爬虫策略等,...

    HttpClient ,jsoup和 HtmlParser ,htmllexer实现简易爬虫用到的jar包

    在某些复杂或者特殊需求的爬虫项目中,可能需要利用HtmlParser和htmllexer对HTML进行细致的分析和处理,比如在面对非标准HTML或者需要提取特定结构时。 在实际开发中,选择HttpClient进行网络请求,jsoup进行HTML...

    利用HttpClient和HtmlParser实现的简单爬虫(Java)

    总之,利用HttpClient和HtmlParser(如Jsoup)可以方便地构建一个Java网络爬虫,用于抓取和分析网页信息。在"SearchEngine"项目中,你可以根据需求定制爬虫,实现搜索引擎的功能,高效地获取和处理大量网页数据。

    httpClient和htmlparse获取网页数据使用jar

    在IT行业中,获取网页数据是常见的任务之一,用于数据分析、信息抓取或自动化测试等场景。HttpClient和HtmlParser是两个非常实用的Java库,分别用于处理HTTP通信和解析HTML内容。下面将详细介绍这两个库以及如何结合...

Global site tag (gtag.js) - Google Analytics