`

html抓取网页链接的例子

 
阅读更多
package function.htmlparser;

import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filters.HasAttributeFilter;
import org.htmlparser.filters.HasParentFilter;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;

public class Test {

	public void listAll(Parser parser){
		
		try {
			NodeIterator nodeIterator=parser.elements();
			while (nodeIterator.hasMoreNodes()){
				System.out.println("+++++++++++++++++++++");
				Node node=nodeIterator.nextNode();
				System.out.println("getText():"+node.getText());
				System.out.println("getHtml():"+node.toHtml());
				
			}
		} catch (ParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	public void filter(Parser parser){
		
		NodeList nodelist;
		
	//	NodeFilter filterL = new TagNameFilter("a");

		NodeFilter filterS = new HasAttributeFilter("class","post-title");
		
		NodeFilter filterP= new HasParentFilter(filterS);
		

		
		try {
			nodelist=parser.parse(filterP);
			//Node node=nodelist.elementAft(0);
		//	NodeFilter haf= new HasAttributeFilter("class","post-title");

//			获取相应的节点
			nodelist=nodelist.extractAllNodesThatMatch(filterP,true);
			for(int i=0;i<nodelist.size();i++){
				LinkTag link=(LinkTag)nodelist.elementAt(i).getFirstChild();
			System.out.println(link.getAttribute("href")+"/n");
				System.out.println(link.getStringText());
			
			//	System.out.println(nodelist.elementAt(i).getFirstChild().getText()+"-----"+nodelist.elementAt(i).getFirstChild().toHtml());
			}
			
			
			
			
			
			
			
			
		} catch (ParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	public static void main(String[] args) {

		String urlStr="http://localhost:8080/tomfish88/error.jsp";
	Parser parser=new Parser();
	try {
		parser.setURL(urlStr);
		parser.setEncoding("gb2312");

	} catch (ParserException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		
		Test test=new Test();
		test.filter(parser);
		
}
} 

 html文件 

 

 

 

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
error!!!!!!

<table>

<tr><td>td-c1</td></tr>
		<tr class="post-title"><td><a href="http://www.fsd.com">连接1</a></td></tr>
		
		
<tr><td>td-cc1 <a href="http://www.fsd44444.com">连接3</a> </td></tr>
		<tr class="post-title"><td><a href="http://www.fsd222222.com">连接2</a></td></tr>
		
		</table>

</body>
</html>

 

 

 

java文件

 

 

 

 

分享到:
评论
1 楼 ningwuyu 2011-08-09  
jar 咋没上传啊

相关推荐

    网页抓取例子

    综上所述,“网页抓取例子”可能涵盖了使用JSP进行网页请求、HTML解析和数据提取的实践,同时也可能讲解了如何处理一些常见的网页抓取问题。通过阅读提供的博文链接,我们可以更深入地理解这个具体例子的实现细节。

    C++网页抓取源码及例子亲测可用

    标题 "C++网页抓取源码及例子亲测可用" 提供了我们即将讨论的核心主题:使用C++语言进行网页内容的抓取。这通常涉及到网络编程和字符串处理,特别是对于解析HTML文档的部分。C++作为一门强大的系统级编程语言,能够...

    Java抓取网页数据Demo

    这段代码会抓取页面上所有链接的`href`属性。 接下来,我们转向**抓取网页JS返回数据**。许多现代网页使用Ajax技术动态加载数据,这些数据通常不会出现在原始HTML中,而是通过JavaScript执行后生成。为了抓取这类...

    java利用htmlparser抓取网页数据

    在这个例子中,我们创建了一个`Parser`对象,传入要抓取的网页URL。然后通过`elements()`方法获取一个迭代器,遍历HTML中的所有节点。当找到`&lt;title&gt;`标签时,我们提取并打印出网页的标题。 HTMLParser库还支持更...

    htmlparser实现从网页上抓取数据(+例子)

    本教程将通过实例来讲解如何使用HTMLParser从网页上抓取数据,并简要提及Java解析XML的方法。 首先,我们需要了解HTMLParser的基本工作原理。HTMLParser遵循事件驱动的模型,它会逐行读取HTML源代码,遇到特定的...

    网络爬虫之简单链接抓取

    《网络爬虫之简单链接抓取》这篇文章及配套的源码`spider.py`主要讲述了如何构建一个基础的网络爬虫来抓取网页中的链接。网络爬虫是自动化浏览Web并提取信息的一种程序,它是大数据分析和搜索引擎的重要组成部分。...

    静态页面抓取工具

    另一方面,Teleport Pro是另一款功能强大的网页抓取工具,虽然它的镜像网站不会自动将链接转换为相对链接。这意味着在本地浏览时,可能需要保持网络连接,以便加载外部链接的内容。Teleport Pro支持多种抓取模式,...

    httpClient+jsoup抓取网页数据实例和jar包

    本教程将详细介绍如何结合使用HttpClient与Jsoup来抓取和处理网页数据。 HttpClient是Apache基金会开发的一个开放源代码库,它允许开发者发送HTTP请求并接收响应,支持多种HTTP协议版本。HttpClient提供了丰富的...

    android 的网页抓取

    对于描述中提到的“jsoup抓取网页内容”,我们可以扩展这个例子,抓取网页上的特定元素。例如,如果你想要获取所有段落(`&lt;p&gt;`标签)的内容,可以这样做: ```java List&lt;String&gt; paragraphs = new ArrayList(); ...

    抓取网站内容,获取网站内容,读取网站所有内容,抓取网页内容

    1. **抓取网站内容**:这是网络爬虫的基本功能,通过HTTP或HTTPS协议向服务器发送请求,获取返回的HTML或其他格式的网页内容。Python中常用的库有`requests`,它可以方便地发送GET或POST请求。 2. **获取网站内容**...

    Android Jsoup 爬虫协议抓取网页信息

    在这个例子中,我们连接到"http://example.com",然后选择所有的链接元素,并打印出它们的`href`属性。 其次,Android中使用Jsoup需要注意网络权限问题。在AndroidManifest.xml中,需要添加INTERNET权限: ```xml ...

    python爬虫抓取网页数据开发教程.docx

    这个例子将帮助读者理解如何实际操作抓取真实网站的数据。 #### 四、爬虫实现步骤详解 ##### 4.1 导入所需库 首先,我们需要导入所需的Python库: ```python import requests from bs4 import BeautifulSoup ...

    【Python爬虫】批量抓取网页上的视频.docx.pdf

    在这个例子中,网页地址是`http://v.163.com/special/opencourse/machinelearning.html`。 - 观察源代码,我们可以发现视频链接通常是以`href='http://mov.bn.netease.com/mobilev/... .mp4'`的形式出现。 2. **...

    Python 语言实现的抓取网页内容与列文件目录

    比如,要找到网页上的所有链接,可以这样做: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'html.parser') links = soup.find_all('a') for link in links: print(link.get('...

    jsoup 网页信息 抓取 选择器

    通过熟练掌握jsoup库,我们可以快速实现对特定网页的定制化抓取,例如在新浪高尔夫频道的例子中,提取新闻信息并进行分析或存档。此外,jsoup还提供了多种高级功能,满足了多样化的网页解析需求,使得开发者可以更...

    从某个网页(这里以假想的网页httpexample.com为例)抓取标题和链接列表.docx

    接下来,详细介绍如何使用Python编写一个简单的网络爬虫,该爬虫可以抓取指定网页中的标题和链接列表。 ##### 1. 获取网页内容 为了获取网页内容,我们需要向指定的URL发送HTTP GET请求。这可以通过`requests.get...

    htmlparser实现从网页上抓取数据doc

    例如,如果要从网页中抓取特定类别的链接,我们可以创建一个`NodeVisitor`,在访问`Tag`时检查其是否为`&lt;a&gt;`标签,并收集相关信息。 总之,HTMLParser提供了一种灵活且高效的方式,帮助Java开发者解析和处理HTML...

    获取指定网页上所有链接

    标题“获取指定网页上所有链接”所涉及的知识点主要集中在网页数据抓取和解析领域,这一过程通常称为网络爬虫或网页抓取。下面将详细解释这个过程,并结合描述中的“小东东”(即简单工具)进行阐述。 首先,我们要...

    c# 获取网页中的所有超级链接

    在C#编程中,获取网页中的所有超级链接是一项常见的任务,尤其在网页抓取或数据分析等领域。本项目提供了一个可以直接运行的示例,帮助开发者理解如何实现这一功能。以下将详细解释这一过程涉及的关键知识点: 1. *...

    Phantomjs抓取渲染JS后的网页(Python代码)

    下面我们将通过一个具体的例子来了解如何使用Phantomjs结合Python进行网页抓取。 #### 三、Phantomjs代理设置 在具体实现过程中,首先需要配置一个Phantomjs的代理服务。这通常涉及到以下几个步骤: 1. **下载并...

Global site tag (gtag.js) - Google Analytics