jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
jsoup 的主要功能如下:
1. 从一个 URL,文件或字符串中解析 HTML;
2. 使用 DOM 或 CSS 选择器来查找、取出数据;
3. 可操作 HTML 元素、属性、文本;
实战代码:
@Service("htmlParser") public class HtmlParserImpl implements HtmlParser { private static Logger logger = LoggerFactory.getLogger(HtmlParserImpl.class); /** * 解析人行征信报告页面 * @param html * @return */ public List<DetailVo> parse(String html) { if (StringUtils.isBlank(html)){ return null; } Document document = Jsoup.parse(html); Elements loanElements = document.select("table span.h1 strong"); for (Element element : loanElements){ if (element.text().contains("购房贷款")){ ... setLoanDetailVoByElement(element, detailVo, houseLoanDetailVo); }else if (element.text().contains("其他贷款")){ ... setLoanDetailVoByElement(element, detailVo, loanDetailVo); } } return list; } /** * 设值查询记录(包括机构、个人) * @param tableEle * @param agencyDetailVo */ private void setQueryRecordDetailVoByTableElement(Element tableEle, DetailVo agencyDetailVo) { Elements trList = tableEle.select("tr"); if (trList != null && trList.size() > 0){ for (Element trEle : trList){ Elements trChildren = trEle.children(); if (trChildren != null && trChildren.size() == 4){ agencyDetailVo.getList().add(Lists.newArrayList( trChildren.get(0).text(), trChildren.get(1).text(), trChildren.get(2).text(), trChildren.get(3).text())); } } } } /** * 设值贷款部分(包括了信用卡、购房贷款、其他贷款、为他人担保) * @param element * @param detailVo * @param creditCardDetailVo */ private void setLoanDetailVoByElement(Element element, DetailVo detailVo, DetailVo creditCardDetailVo) { Element olNode = element.parent().nextElementSibling(); Elements olNodes = olNode.children(); for (Element ele : olNodes){ if (ele.tagName().indexOf("span") > -1){ detailVo = new DetailVo(); detailVo.setTitle(ele.child(0).text()); }else if (ele.tagName().indexOf("li") > -1){ if (detailVo != null){ detailVo.getList().add(ele.text()); } if (ele.nextElementSibling() == null ||!"li".equals(ele.nextElementSibling().tagName())){ creditCardDetailVo.getList().add(detailVo); } } } } }
教程重点推荐:
http://www.cnblogs.com/jycboy/p/jsoupdoc.html
官网:
https://jsoup.org/
相关推荐
下面是一个简单的示例,展示了如何使用Jsoup连接到一个网页,选择特定元素并提取其内容: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class ...
本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...
这个"小demo"可能是简单的Java应用,包含一个主类,通过Jsoup抓取网页信息后,使用PreparedStatement将数据存入MySQL。文件名"Jsoup获取网页内容实例"暗示了示例代码可能包含如何使用Jsoup进行网页解析的片段。 ...
Jsoup提供了一种简单、安全且有效的方法来解析和操作HTML文档,使得开发者能够轻松地从网页中提取结构化数据。 ### 1. Jsoup的基本概念 Jsoup的核心功能是解析HTML文档,并将其转化为一个DOM(Document Object ...
接下来,我们将探讨如何使用Jsoup解析HTML内容: 1. **连接URL并解析** 使用Jsoup的`connect()`方法,可以建立到指定URL的连接,并获取HTML内容。然后调用`get()`方法,解析返回的HTML字符串。 ```java ...
在图片爬取过程中,首先,我们需要设置一个起始URL,然后使用Jsoup解析该页面的HTML内容。通过选择器如`img[src]`,可以找到所有的图片链接。接下来,可以使用Java的HttpURLConnection或HttpClient库,向每个图片URL...
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup 可以从包括字符串、URL 地址...
总结来说,Jsoup是一个强大的工具,它使得在Java和Android应用中解析和操作HTML变得简单易行。通过学习和熟练掌握Jsoup,你可以高效地实现网页内容的获取与修改,为你的应用增添更多的功能和价值。同时,要注意在...
总的来说,Jsoup是Java开发者进行网页解析和数据提取的利器,其简洁的API和强大的功能使其在爬虫开发中受到广泛欢迎。通过熟练掌握Jsoup,你可以构建出高效、稳定的Web爬虫,实现对HTML内容的深度挖掘和分析。
此外,Jsoup还提供了链接处理能力,可以解析页面上的链接,包括相对链接和绝对链接,这对于网页爬虫和数据抓取来说非常有用。 XML解析方面,虽然Jsoup主要设计用于HTML处理,但它也具备解析XML文档的能力。XML与...
以下是关于如何使用Java+Jsoup抓取网页数据的详细讲解。 首先,你需要了解HTML的基础结构,因为Jsoup的工作原理是解析HTML文档并提供类似于DOM的API来操作这些文档。HTML是由标签组成的树形结构,每个标签都有属性...
本篇文章将深入探讨如何使用Jsoup进行简单的网页抓取,并将抓取的数据写入Excel的多个工作表。 首先,我们要了解Jsoup的基本用法。Jsoup的核心功能在于解析HTML文档,通过其提供的选择器语法,我们可以像操作DOM...
`Test01.java`负责使用jSoup解析HTML并提取所需信息,而`UrlUtils.java`则辅助处理URL相关的操作,如生成合法请求的URL,或对获取的链接进行编码和解码。 总结,jSoup是Java中解析和操作HTML的强大工具,其易于使用...
以下是一个简单的Jsoup使用示例,演示如何获取和打印网页的标题: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class JsoupExample { public static void main(String[] args) ...
这个只是一个java源文件,用于学习Jsoup
总结来说,jsoup是一个强大且易用的Java库,它的API设计简洁,支持HTML解析、选择、操作等功能,是处理HTML数据的理想工具。无论是网页抓取、数据提取还是内容修改,jsoup都能提供高效且安全的解决方案。
- `jsoup`并不支持完整的DOM解析,对于复杂的DOM操作,可能需要考虑其他库,如`Jsoup`与`jsoup-dom`结合使用。 总结,`jsoup`为Android开发者提供了一个强大且易于使用的工具,可以方便地解析和操作HTML内容。通过...
**JSoup:Java的HTML解析库** JSoup是一款强大的Java库,专为处理现实世界中的HTML而设计。它提供了一种简洁的API,用于提取和操作数据,使用DOM,CSS,以及jQuery式的语法。在现代Web开发中,尤其是在网页抓取、...
Jsoup是一个Java库,它提供了丰富的API来处理HTML文档,使得在Android中解析网页链接变得更加简单。 首先,让我们了解Jsoup的基本用法。Jsoup通过连接到指定的URL并下载HTML内容,然后解析这个内容以创建一个可操作...
以下是一个简单的jsoup使用示例,展示如何解析HTML并提取页面标题: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class JsoupExample { public static void main(String[] args) ...