网站优化排名如何做,如何变更网站备案信息查询,泰安手机网站建设报价,成都小程序开发公司有哪些HTML是Web的核心#xff0c;无论您是通过JavaScript#xff0c;JSP#xff0c;PHP#xff0c;ASP还是任何其他Web技术动态生成的#xff0c;您在Internet上看到的所有页面都是基于HTML的。 您的浏览器实际上是解析HTML并为您呈现。 但是#xff0c;如果需要解析HTML文档并… HTML是Web的核心无论您是通过JavaScriptJSPPHPASP还是任何其他Web技术动态生成的您在Internet上看到的所有页面都是基于HTML的。 您的浏览器实际上是解析HTML并为您呈现。 但是如果需要解析HTML文档并查找某些元素标签属性或检查特定元素是否存在该怎么办所有这些操作都使用Java程序完成。 如果您从事Java编程已经有几年了我相信您已经使用DOM和SAX之类的解析器完成了一些XML解析工作。 具有讽刺意味的是很少有需要从核心Java应用程序解析HTML文档的情况该应用程序不包括Servlet和其他Java Web技术。 更糟的是核心JDK中也没有HTTP或HTML库。 这就是为什么在解析HTML文件时 许多Java程序员不得不看Google以了解如何获取Java中HTML标记的价值。 当我需要时我确定会有一个开源库为我实现该功能但不知道它像JSoup一样出色且功能丰富。 它不仅提供了读取和解析HTML文档的支持而且还允许您从HTML文件其属性 JQuery样式的CSS类中提取任何元素同时还允许您对其进行修改。 您可以使用Jsoup对HTML文档进行任何操作。 在本文中我们将解析和HTML文件并找出title和heading标签的值。 我们还将看到通过使用Java解析Google主页来从文件以及任何URL或Internet下载和解析HTML的示例。 Jsoup是用于处理实际HTML的开源Java库。 它提供了使用DOMCSS和类似jquery的最好方法提取和处理数据的非常方便的API。 Jsoup实现WHATWG HTML5规范并将HTML解析为与现代浏览器例如Chrome和Firefox相同的DOM。 这是jsoup库的一些有用的功能 Jsoup可以从URL文件或字符串中抓取并解析HTML Jsoup可以使用DOM遍历或CSS选择器来查找和提取数据 Jsoup允许您操纵HTML元素属性和文本 Jsoup针对安全的白名单提供干净的用户提交的内容以防止XSS攻击 Jsoup还可以输出整洁HTML Jsoup旨在处理现实世界中发现的各种HTML其中包括经过正确验证HTML以完成不完整的非验证标签集合。 Jsoup的核心优势之一是它非常强大。 在此Java HTML解析教程中我们将看到使用jsoup在Java中解析和遍历HTML文档的三个不同示例。 在第一个示例中我们将解析一个HTML String 其内容均为标记以Java中的String文字形式出现。 在第二个示例中我们将从网络上下载HTML文档在第三个示例中我们将加载我们自己的示例HTML文件login.html进行解析。 此文件是一个示例HTML文档在正文部分包含一个标题标签和一个div其中div包含一个HTML表单。 它具有输入标签来捕获用户名和密码并提供提交和重置按钮以采取进一步措施。 这是可以验证的正确HTML即所有标签和属性均已正确关闭。 这是我们的示例HTML文件的外观 !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
htmlheadmeta http-equivContent-Type contenttext/html; charsetISO-8859-1titleLogin Page/title/headbodydiv idlogin classsimple form actionlogin.doUsername : input idusername typetext /brPassword : input idpassword typepassword /brinput idsubmit typesubmit /input idreset typereset //form/div/body
/html 使用Jsoup进行HTML解析非常简单只需调用静态方法Jsoup.parse并将HTML字符串传递给它即可。 JSoup提供了几个重载的parse方法来从String文件基本URIURL和InputStream中读取HTML文件。 如果它们不是“ UTF-8”格式也可以指定字符编码以正确读取HTML文件。 parseString html方法将输入HTML解析为新的Document。 在Jsoup中文档扩展了元素该元素扩展了Node。 同样TextNode扩展了Node。 只要您传递非null字符串 就可以确保您使用包含至少head和body元素的Document进行了成功明智的解析。 拥有文档后可以通过在Document及其父类Element和Node中调用适当的方法来获取所需的数据。 这是我们完整的Java程序用于解析HTML字符串从Internet下载HTML文件和来自本地文件系统HTML文件。 为了运行该程序您可以使用Eclipse IDE也可以仅使用任何IDE或命令提示符 。 在Eclipse中这非常简单只需复制此代码创建一个新的Java项目右键单击src包并将其粘贴。 Eclipse将负责创建具有相同名称的正确的程序包和Java源文件因此绝对省事。 如果您已经有一个Sample Java项目那么这只是一步。 以下Java程序显示了3个解析和遍历HTML文件的示例。 在第一个示例中我们直接解析具有html内容的String 在第二个示例中我们解析从URL下载HTML文件在第三个示例中我们从本地文件系统加载并解析HTML文档。 import java.io.File;
import java.io.IOException;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;/**
* Java Program to parse/read HTML documents from File using Jsoup library.
* Jsoup is an open source library which allows Java developer to parse HTML
* files and extract elements, manipulate data, change style using DOM, CSS and
* JQuery like method.
*
* author Javin Paul
*/
public class HTMLParser{public static void main(String args[]) {// Parse HTML String using JSoup libraryString HTMLSTring !DOCTYPE html html head titleJSoup Example/title /head body tabletrtdh1HelloWorld/h1/tr /table /body /html;Document html Jsoup.parse(HTMLSTring);String title html.title();String h1 html.body().getElementsByTag(h1).text();System.out.println(Input HTML String to JSoup : HTMLSTring);System.out.println(After parsing, Title : title);System.out.println(Afte parsing, Heading : h1);// JSoup Example 2 - Reading HTML page from URLDocument doc;try {doc Jsoup.connect(http://google.com/).get();title doc.title();} catch (IOException e) {e.printStackTrace();}System.out.println(Jsoup Can read HTML page from URL, title : title);// JSoup Example 3 - Parsing an HTML file in Java//Document htmlFile Jsoup.parse(login.html, ISO-8859-1); // wrongDocument htmlFile null;try {htmlFile Jsoup.parse(new File(login.html), ISO-8859-1);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} // righttitle htmlFile.title();Element div htmlFile.getElementById(login);String cssClass div.className(); // getting class form HTML elementSystem.out.println(Jsoup can also parse HTML file directly);System.out.println(title : title);System.out.println(class of div tag : cssClass);}}Output:
Input HTML String to JSoup :!DOCTYPE htmlhtmlheadtitleJSoup Example/title/headbodytabletrtdh1HelloWorld/h1/tr/table/body/html
After parsing, Title : JSoup Example
Afte parsing, Heading : HelloWorld
Jsoup Can read HTML page from URL, title : Google
Jsoup can also parse HTML file directly
title : Login Page
class of div tag : simple Jsoup HTML解析器将尽一切努力从您提供HTML创建干净的解析而不管HTML的格式是否正确。 它可以处理以下错误 未关闭的标签例如p Java p Scala到p Java / p p Scala / p 隐式标签例如ega裸td Java很棒/ td包裹在table tr td中 可靠地创建文档结构html包含头和主体并且头中仅包含适当的元素。 Jsoup是一个出色且强大的开源库它使读取html文档正文片段html字符串以及直接从Web上直接解析html内容变得非常容易。 翻译自: https://www.javacodegeeks.com/2014/09/3-examples-of-parsing-html-file-in-java-using-jsoup.html