在 Java 中读取网页是一个教程,它提供了几种读取 Java 中网页的方法。 它包含六个示例,这些示例从一个很小的网页上下载 HTTP 源。
Java 读取网页工具
Java 具有内置的工具和第三方库,用于读取/下载网页。 在示例中,我们使用 URL,JSoup,HtmlCleaner,Apache HttpClient,Jetty HttpClient 和 HtmlUnit。
在以下示例中,我们从 something.com 微型网页下载 HTML 源。
读取带有 URL 的网页
URL
表示一个统一资源定位符,它是指向万维网上资源的指针。
ReadWebPageEx.java
该代码示例读取网页的内容。
openStream()
方法打开到指定 URL 的连接,并返回InputStream
以从该连接读取。 InputStreamReader
是从字节流到字符流的桥梁。 它读取字节,并使用指定的字符集将其解码为字符。 另外,BufferedReader
用于获得更好的性能。
使用readLine()
方法逐行读取 HTML 数据。 源被附加到StringBuilder
上。
最后,StringBuilder
的内容被打印到终端。
使用 JSoup 读取网页
JSoup 是流行的 Java HTML 解析器。
我们已经使用了这种 Maven 依赖关系。
ReadWebPageEx2.java
该代码示例使用 JSoup 下载并打印一个很小的网页。
connect()
方法连接到指定的网页。 get()
方法发出 GET 请求。 最后,html()
方法检索 HTML 源。
使用HtmlCleaner
读取网页
HtmlCleaner 是用 Java 编写的开源 HTML 解析器。
对于此示例,我们使用htmlcleaner
Maven 依赖项。
ReadWebPageEx3.java
该示例使用HtmlCleaner
下载网页。
在属性中,我们设置为省略 XML 声明。
SimpleHtmlSerializer
将创建结果 HTML,而不会进行任何缩进和/或压缩。
使用 Apache HttpClient
读取网页
Apache HttpClient 是 HTTP / 1.1 兼容的 HTTP 代理实现。 它可以使用请求和响应过程来抓取网页。 HTTP 客户端实现 HTTP 和 HTTPS 协议的客户端。
我们将这种 Maven 依赖关系用于 Apache HTTP 客户端。
ReadWebPageEx4.java
在代码示例中,我们将 GET HTTP 请求发送到指定的网页并接收 HTTP 响应。 从响应中,我们读取了 HTML 源代码。
生成了HttpClient
。
HttpGet
是 HTTP GET 方法的类。
执行 GET 方法并接收到HttpResponse
。
从响应中,我们获得网页的内容。
使用 Jetty HttpClient
读取网页
Jetty 项目也有一个 HTTP 客户端。
这是 Jetty HTTP 客户端的 Maven 依赖项。
ReadWebPageEx5.java
在示例中,我们使用 Jetty HTTP 客户端获取网页的 HTML 源。
创建并启动HttpClient
。
GET 请求发布到指定的 URL。
使用getContentAsString()
方法从响应中检索内容。
使用HtmlUnit
读取网页
HtmlUnit 是用于测试基于 Web 的应用的 Java 单元测试框架。
我们使用这种 Maven 依赖关系。
ReadWebPageEx6.java
该示例下载一个网页并使用 HtmlUnit 库进行打印。
在本文中,我们使用各种工具(包括 URL,JSoup,HtmlCleaner,Apache HttpClient,Jetty HttpClient 和 HtmlUnit)在 Java 中抓取了一个网页。