java - 如何在网站中查找和提取 "main"图片

标签 java html

我需要帮助解决问题。我需要一个程序,给定一个站点,它可以找到并提取“主”图片,即代表该站点的图片。 (说它是最大第一 图片有时但不总是正确的)。

我应该如何处理这个问题?有没有图书馆可以帮助我解决这个问题? 谢谢!

最佳答案

选项 1

你可以结帐Goose .它做的事情类似于 Pocket 和 Readability 所做的,即尝试使用一组启发式方法从给定的网页中提取主要文章。它显然也可以从那篇文章中提取主要图像,但它有点碰运气,所以 60% 的时间它每次都有效。

它曾经是一个 Java 项目,但被重写为 Scala。

来自自述文件

Goose will try to extract the following information:

  • Main text of an article
  • Main image of article
  • Any Youtube/Vimeo movies embedded in article
  • Meta Description
  • Meta tags
  • Publish Date

在这里试试:http://jimplush.com/blog/goose


选项 2

您可以使用 Java 包装器(例如 GhostDriver )来运行 headless 浏览器,例如 PhantomJS .然后,获取网站并找到尺寸最大的 img 元素。 This GhostDriver test case展示了如何在 DOM 中查询元素并获取它的呈现大小。


选项 3

使用类似 jsoup 的库可以帮助您解析 HTML。然后从所有 img 标签的 src 属性中获取值。请求您为图像找到的每个 URL 并测量它们的大小。尺寸最大的可能是网站的主要图片。

关于java - 如何在网站中查找和提取 "main"图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18268386/

相关文章:

java - 在 Java 中读取配置

jquery - 使用谷歌地图 API v3

javascript - 当模态背景不存在时,允许人们单击 Bootstrap 模态下的链接

javascript - 使用 css 打印页面时出错

php - 如何仅通过单击提交按钮来提交表单

java - 在 Java 文件中写入多行有困难

java - 将 SNAPSHOT 部署到 oss.jfrog.org (JCenter)

java - 在java swing中创建石头、剪刀、布游戏的建议

html - Chrome 在低 DPI 和高 DPI 显示器上以不同方式重绘滚动条上的 div

java - 在网络主机上托管批处理作业与本地计算机上托管批处理作业