`

使用jsoup分析网页

    博客分类:
  • Java
阅读更多
之前用过HTMLParser,许久不更新的东西了,印象中也没那么好用。
今天重新搜索了一下,发现jsoup很容易上手~选择器很好很强大。
支持DOM和选择器两种模式


1、下载
jsoup的网站很简洁:http://jsoup.org/
入门做的很不错:http://jsoup.org/cookbook/

2、简单的例子
以下示例用于抓取iteye首页的新闻及连接,共使用了3种方式获取元素:
选择器
用组件的Id
用组件的class

package tests;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class EgParseItEyeNews {
	public static void main(String[] args) throws IOException {
		String url = "http://www.iteye.com/";
		// 不加userAgent会被视为爬虫。。。。。
		Document doc = Jsoup.connect(url)
				.userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1 ")
				.get();

//		Element news = doc.getElementById("news");               //1、通过ID
		Elements	newsConents=doc.getElementsByClass("news_content");//2、通过class
		Element news=newsConents.first();
		if (news == null)
			System.out.println(doc);
		else {
//			System.out.println(news);
//			System.out.println("end of news****************\n");
			Elements elems = news.select("a"); // 3、通过选择器  ,     把链接都提取出来
			for (Element element : elems) {
				System.out.println(element.text() + "             \t链接为:" + element.attr("href"));
			}
		}

	}
}


输出如下:
  • 轻量级JavaWeb开发框架EWeb4J作者赖伟威专访             链接为:http://www.iteye.com/magazines/105
  • [详情]             链接为:http://www.iteye.com/magazines/105
  • 12月TIOBE编程语言排行榜:年度语言非ObjC莫属             链接为:http://www.iteye.com/news/26673
  • [详情]             链接为:http://www.iteye.com/news/26673
  • JDK6明年2月停止更新,甲骨文呼吁尽快升级至7             链接为:http://www.iteye.com/news/26683
  • [详情]             链接为:http://www.iteye.com/news/26683


。。。好多重复的链接啊!!!将选择器重的代码改为:
Elements elems = news.select("dt>a"); // 3、通过选择器  ,     把链接都提取出来

使得只选择的链接为dt标签的直接子类即可去掉[详情]项,更多选项如后文所示。


3、选择器字符串的语法
这里有实例介绍:http://jsoup.org/cookbook/extracting-data/selector-syntax
用法详解:http://jsoup.org/apidocs/org/jsoup/select/Selector.html
下图是从上面的网址抠出来的:


4、在线文档
http://jsoup.org/apidocs/
  • 大小: 119.6 KB
分享到:
评论

相关推荐

    jsoup网页内容分析

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

    使用Jsoup解析html网页

    1. **数据抓取**:Jsoup可以轻松抓取网页上的结构化数据,如商品价格、评论等,用于数据分析或构建应用。 2. **网站验证**:在自动化测试中,Jsoup可以帮助验证HTML元素是否按预期显示或交互。 3. **内容过滤**:...

    httpClient+jsoup 抓取网页数据

    HttpClient和Jsoup是两个Java库,分别专注于HTTP通信和HTML解析,它们常被组合使用来高效地抓取网页数据。下面我们将详细探讨这两个库及其在网页抓取中的应用。 HttpClient是由Apache软件基金会开发的一个库,主要...

    jsoup网页分析jar包

    在网页分析领域,Jsoup是一个非常实用的工具,尤其对于那些需要从网站获取结构化数据或者进行爬虫开发的项目。 Jsoup的核心功能包括: 1. **HTML解析**:Jsoup可以解析HTML文档,将其转化为一个复杂的DOM树结构,...

    Http,Jsoup-网页数据抓取

    在IT行业中,网络数据抓取是一项重要的技能,它允许开发者获取并分析网页上的信息,以进行各种用途,如数据分析、网站监控或者构建自己的应用程序。在这个主题中,我们将深入探讨两个关键概念:Http协议和Jsoup库,...

    使用JSoup实现新闻网页正文抽取

    JSoup允许开发者通过CSS选择器来定位HTML元素,这与我们在网页设计时使用的CSS选择器是一样的。例如,新闻正文通常位于一个特定的`<div>`标签内,可能带有特定的类名或者ID。我们可以通过`select()`方法选取这些元素...

    java+jsoup抓取网页数据

    以下是关于如何使用Java+Jsoup抓取网页数据的详细讲解。 首先,你需要了解HTML的基础结构,因为Jsoup的工作原理是解析HTML文档并提供类似于DOM的API来操作这些文档。HTML是由标签组成的树形结构,每个标签都有属性...

    用jsoup抓取网页数据

    本教程将深入探讨如何使用Jsoup有效地从网页中提取信息,并最终将其转化为JSON格式,为数据分析或应用程序接口(API)提供便利。 ### 1. Jsoup简介 Jsoup是由Jesse Wilson创建的一个开源项目,它的核心功能是解析...

    jsoup分页爬取网页

    在网页爬虫领域,jsoup尤其适用于抓取和分析结构化的HTML内容。 在进行分页爬取网页时,通常涉及到以下几个关键知识点: 1. **URL构造与导航**:首先,我们需要了解如何构建正确的URL来获取不同页面的数据。分页...

    jsoup获取网页正文

    jsoup能够帮助开发者有效地解析网页内容,提取关键信息,尤其是网页正文,这对于新闻聚合、搜索引擎优化(SEO)以及数据分析等领域至关重要。本文将深入探讨jsoup库的功能特性,并演示如何利用它来获取网页正文。 ...

    jsoup网页爬虫小案例

    在这个案例中,我们将探讨如何使用Java的Jsoup库来实现一个简单的网页爬虫。Jsoup是一个强大的库,专为处理真实世界的HTML而设计,它提供了非常方便的方法来解析、查找和修改HTML文档。这个案例主要针对初级到中级的...

    利用jsoup解析网页

    **jsoup库详解** 在Java世界中,处理HTML文档...通过学习和实践,你可以高效地抓取、解析和操作网页数据,为数据分析、爬虫开发等任务提供便利。在实际项目中,结合jsoup与其他Java库,可以实现更复杂的网页处理需求。

    Android_Jsoup网页爬虫案例

    本文将详细介绍如何在Android环境中使用Jsoup进行网页爬虫的实践。 首先,我们需要在Android项目中添加Jsoup依赖。在`build.gradle(Module)`文件中添加以下依赖: ```groovy dependencies { implementation 'org....

    jsoup解析网页

    通过分析网页源码,我们可以找到特定数据所在的HTML标签和类名。jsoup的CSS选择器功能强大,可以精确地定位这些元素,如`#newsTitle`选择ID为"newsTitle"的元素,`.news-content`选择所有class为"news-content"的...

    Jsoup解析与使用

    **Jsoup解析与使用** Jsoup是一款非常实用的Java库,专为网页抓取和解析而设计。它提供了丰富的API,使得开发者可以方便地提取结构化数据,类似于浏览器执行JavaScript的方式,但更专注于HTML文档的处理。Jsoup的...

    使用Jsoup,抓取整个网站(包括图片、js、css)

    在这个项目中,我们使用Jsoup配合Java,实现了抓取整个网站的功能,包括其中的图片、CSS样式表和JavaScript文件。通过这样的工具,我们可以对网页进行离线浏览或者备份,甚至进行数据分析。 首先,我们要理解Jsoup...

    jsoup对网页的解析

    ### jsoup对网页的解析:深入理解与应用 在当今数据驱动的世界中,网页解析是...掌握`jsoup`的使用,不仅能够提高数据抓取的效率,还能增强对网页结构的理解,是任何从事Web开发或数据分析工作的人士都应掌握的技能。

    jsoup 网页信息 抓取 选择器

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

    Jsoup抓取整个网站

    **Jsoup:网页抓取与解析利器** Jsoup是一个用于处理实际世界HTML的Java库。它提供了非常方便的API,用于提取和操作...这是一个非常有用的技能,无论是在数据分析、搜索引擎优化还是网页自动化测试中都有广泛的应用。

    jsoup + jdid网页动态解析,类似火狐firebug的html查看

    总结来说,jsoup和jdid的结合使用,为开发者提供了一种有效的方式去解析和操作网页的动态内容,尤其是在Windows环境下,可以实现与firebug类似的开发和调试功能。这对于网页数据的抓取、分析,以及自动化测试等领域...

Global site tag (gtag.js) - Google Analytics