如何从网站提取图像
从 HTML 中提取图像的能力对于各种应用(如网络搜刮和内容分析)非常重要。 Aspose.HTML for Java 是一个功能强大的库,它为开发人员提供了一套无缝导航和从 HTML 文档中收集信息的工具,从而简化了这一过程。让我们来探讨如何从 HTML 文档中提取图像。
使用 Java 从 HTML 中提取图像
使用 Aspose.HTML Java 库,您可以轻松创建自己的应用程序,因为我们的 API 提供了一套强大的工具,用于解析和提取 HTML 文档中的信息。如果您想在产品中使用 HTML 数据解析功能,或以编程方式从 HTML 中提取数据,请参阅下面的代码示例。
从网站提取图片的 Java 代码
// Open a document you want to download images from
final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// Collect all <img> elements
HTMLCollection images = document.getElementsByTagName("img");
// Create a distinct collection of relative image URLs
Iterator<Element> iterator = images.iterator();
java.util.Set<String> urls = new HashSet<>();
for (Element e : images) {
urls.add(e.getAttribute("src"));
}
// Create absolute image URLs
java.util.List<Url> absUrls = urls.stream()
.map(src -> new Url(src, document.getBaseURI()))
.collect(Collectors.toList());
for (Url url : absUrls) {
// Create an image request message
final RequestMessage request = new RequestMessage(url);
// Extract image
final ResponseMessage response = document.getContext().getNetwork().send(request);
// Check whether a response is successful
if (response.isSuccess()) {
String[] split = url.getPathname().split("/");
String path = split[split.length - 1];
// Save file to a local file system
FileHelper.writeAllBytes(path, response.getContent().readAsByteArray());
}
}
从网站提取图片的步骤
- 使用
HTMLDocument(
Url
) 构造函数初始化 HTML 文档。 - 使用
getElementsByTagName(
"img"
) 方法从文档中收集所有<img>
元素。该方法返回网页中的<img>
元素集合。 - 遍历
<img>
元素并使用 getAttribute("src"
) 方法提取每个<img>
元素的src
属性。 - 使用 Url 类和 HTMLDocument 类的 BaseURI 属性创建绝对图像 URL。
- 使用
RequestMessage(
url
) 构造函数为每个绝对图像 URL 创建一个请求并发送。检查响应以确保请求成功。 - 如果响应成功,则使用
FileHelper.writeAllBytes()
提取图像数据并将其保存到本地文件系统。
使用 Aspose.HTML for Java,您可以轻松创建一个工具,用于解析 HTML 页面、识别图片来源并下载这些图片。对于那些需要收集图像用于分析、存档或内容创建的人来说,这是一个功能强大的解决方案,而无需手动操作。要进一步了解如何使用 Java 以编程方式从网站中提取不同类型的图像,请参阅文档文章 Extract Images From Website in Java 。
注意:* 在将保存的图像用于商业用途之前,必须遵守版权法并获得适当的许可或授权。未经他人同意,我们不支持提取和使用他人文件用于商业目的。
开始使用 Java HTML 解析器库
HTML API 是一个高级的网络抓取和 HTML 解析库。可以创建、编辑、浏览节点、提取数据并将 HTML、XHTML 和 MHTML 文件转换为 PDF、图像和其他格式。此外,它还开箱即用地处理 CSS、HTML Canvas、SVG、XPath 和 JavaScript 以扩展操作任务。它是一个独立的 API,不需要安装任何软件。您可以直接从 Aspose Maven Repository 下载其最新版本,并通过将以下配置添加到 pom.xml 将其安装到基于 Maven 的项目中。
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>version of aspose-html API</version>
<classifier>jdk17</classifier>
</dependency>
其他支持功能
使用 Aspose.HTML for Java 库解析和处理基于 HTML 的文档。清晰、安全、简单!