`
小网客
  • 浏览: 1233777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

采用Jsoup解析网络资源

 
阅读更多

Jsoup为一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。

场景如下:

1.获取京东的图书类目

2.以类目id为key,类目名称为value保存到map中

代码如下:

private static Map<String, String> getWareCategory() {
		Connection conn = Jsoup.connect(JDConstants.CATEGORY_URL_FORMAT).userAgent(
		        JDConstants.MOZILLA_AGENT).timeout(JDConstants.TIME_OUT);
		Map<String, String> categoryMap = new HashMap<String, String>();
		Document document = null;
		try {
			Connection.Response response = conn.execute();
			int statusCode = response.statusCode();
			if (statusCode != JDConstants.HTTP_OK_CODE) {
				return categoryMap;
			}
			document = conn.get();
			Elements tmp = document.select("div.left").select("#booksort").first().select(
			        "div.mc ul").first().select("li");
			for (int i = 0; i < tmp.size(); i++) {
				Element e = tmp.get(i);
				String url = e.select("a").attr("href");
				String name = e.select("a").text();
				String categoryId = StringUtils.isNotEmpty(url) ? (url.split("-").length == 3 ? url
				        .split("-")[1] : "") : "";
				categoryMap.put(categoryId, name);
			}
		} catch (Exception e) {
			LOG.error("getCategory response:" + document);
			LOG.error("getCategory error:" + e.getMessage());
		}
		LOG.info("***********categoryMap:" + categoryMap);
		return categoryMap;
	}

 其他常量变量如下:

public abstract class JDConstants {
	public static final int TIME_OUT = 1000 * 60 * 30;
	public static final String MOZILLA_AGENT = "Mozilla";
	public static final int HTTP_OK_CODE = 200;
	public static final String CATEGORY_URL_FORMAT = "http://www.360buy.com/products/1713-3269-000.html";
}

 评价:

操作非常方便

分享到:
评论

相关推荐

    Jsoup解析与使用

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

    android使用jsoup 解析html文件

    - `jsoup`并不支持完整的DOM解析,对于复杂的DOM操作,可能需要考虑其他库,如`Jsoup`与`jsoup-dom`结合使用。 总结,`jsoup`为Android开发者提供了一个强大且易于使用的工具,可以方便地解析和操作HTML内容。通过...

    在android中使用jsoup解析页面链接

    不过,这通常会涉及到使用Jsoup进行更复杂的网页解析,例如查找特定元素、提取链接、筛选文本等。你可以使用Jsoup的各种选择器方法,如`select()`,来定位HTML元素: ```java Elements links = doc.select("a[href]...

    jsoup解析网页

    在这个资源中,我们看到一个实例,是关于如何使用jsoup从搜狐新闻网站上提取所需数据的。以下是对这个主题的详细讲解: 1. **jsoup简介** jsoup是一个基于DOM(文档对象模型)的库,它允许开发者以与jQuery类似的...

    Jsoup源码以及chm文件

    这个压缩包包含的“Jsoup源码”意味着你可以深入理解其内部工作机制,这对于开发者进行二次开发或者学习网络爬虫技术非常有帮助。而“chm文件”通常是一种Windows平台下的帮助文档格式,它可能包含了Jsoup的官方文档...

    Jsoup-网络爬虫项目

    在网络爬虫项目中,Jsoup作为解析工具,帮助我们抓取和解析感兴趣的数据。 - 爬虫的基本流程包括:请求网页(HTTP/HTTPS)、接收响应、解析内容、提取数据、存储数据。 3. **使用Jsoup进行网页抓取** - `Jsoup....

    Android-使用jsoup解析数据的一个手机壁纸小软件

    本项目“Android-使用jsoup解析数据的一个手机壁纸小软件”是一个实际应用示例,展示了如何在Android应用中集成jsoup来获取并显示网络上的壁纸资源。 首先,我们需要理解jsoup的基本用法。jsoup连接到一个URL,下载...

    jsoup-1.6.3.rar HTML解析器

    考虑到网络安全,jsoup在解析过程中会进行安全检查,防止XSS(跨站脚本攻击)等安全漏洞。这意味着开发者在使用jsoup时,可以相对放心地处理用户输入的HTML内容。 ### 文件`jsoup-1.6.3` 在下载的`jsoup-1.6.3`...

    Android使用Jsoup解析Html表格的方法

    总的来说,Android结合Jsoup解析HTML表格涉及的关键点包括:获取HTML字符串,解析HTML,使用选择器定位表格元素,遍历并处理表格行和列,以及将HTML内容转化为Android UI组件。通过熟练掌握这些步骤,你可以构建出...

    jsoup HTML解析器 v1.17.2.zip

    通过分析jsoup的使用,学生可以学习到网络爬虫的基本概念、HTML解析的策略以及Java编程技巧。同时,它也可以作为研究网页信息提取技术的实验平台。 **计算机案例** jsoup作为一个实际的计算机应用案例,可以用来...

    HTML解析器 jsoup资料

    - 虽然jsoup本身并不直接处理HTTP请求,但可以与Apache HttpClient或OkHttp等库结合使用,以获取网页内容并交由jsoup解析。 - 这样做的好处是能够控制请求头、超时和重试策略。 7. **实战应用** - jsoup常用于...

    基于springboot+jsoup的整人解气资源

    【标题】"基于springboot+jsoup的整人解气资源"揭示了这个项目的核心技术栈,即Spring Boot和Jsoup,以及它可能涉及到的一种趣味性质的应用场景——整人解气。Spring Boot是Java领域非常流行的微服务开发框架,简化...

    jsoup爬虫学习之爬取博客(包含jsoup jar包)

    **正文** ...通过深入学习`jsoup`,你将能够构建自己的博客爬虫,从而获取并分析大量网络上的信息。结合提供的源代码和`jsoup`的jar包,你可以亲手实践,加深对`jsoup`的理解,并提升你的编程技能。

    Jsoup解析html页面实现CSDN博客客户端.zip

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可...2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于收集和整理资料耗费时间的酬劳

    jsoup+httpclient+jar包

    5. **使用JSoup解析HTML**:将响应体的字符串传递给JSoup的parse方法,得到Document对象。 6. **数据提取**:使用JSoup的select方法通过CSS选择器定位元素,或者使用getElementById、getElementsByTag等方法提取...

    jsoup-1.11.3

    这个文件包含了jsoup 1.11.3版本的Java文档,是开发者了解和学习jsoup API的重要资源。通过查看这些文档,开发者可以了解每个类、接口和方法的详细说明,包括它们的使用示例和参数解释,有助于快速上手和调试代码。 ...

    jsoup-1.8.3.zip

    开发者可以通过添加这个jar包到项目类路径来使用JSoup的功能,如解析网页、提取数据、查找和修改元素等。例如,你可以使用`Jsoup.connect(url).get()`来获取一个网页的HTML内容,或者用`Document.select("selector")...

    jsoup-1.8.3(含源码)

    在"jsoup-1.8.3(含源码)"这个压缩包中,包含了Jsoup库的1.8.3版本以及其源代码,这对于开发者来说是极其宝贵的资源,可以深入理解内部实现并进行定制开发。 ### 1. HTML解析 Jsoup能够解析HTML文档,无论是从URL...

    jsoup 中文 api 文档

    这份中文 API 文档是 jsoup 的开发者指南,详细解释了每个类和方法的功能及用法,是学习和使用 jsoup 的宝贵资源。文档通常会包含实例代码、方法描述、参数说明和返回值等信息,帮助开发者快速理解和应用各种功能。 ...

    jsoup1.6源码及API

    提供了jsoup 1.6.1的源代码,对于开发者来说,这是深入理解jsoup内部工作原理的宝贵资源。你可以查看类的实现、方法的逻辑,甚至调试源代码以解决特定问题。 总的来说,jsoup 1.6版本虽然相对较旧,但其核心功能和...

Global site tag (gtag.js) - Google Analytics