用于提取任何网页的favicon的URI的通用方法

时间:2014-01-20 11:15:26

标签: java httpurlconnection favicon

是否有提取任何网页的favicon URI的通用方法?

最初,我以为我可以使用Java / HttpURLConnection,读取XML并解析它。

但我怀疑在网页中放置图标的方法数量有限。

请注意,我想检索favicon的URI,而不是下载favicon图像本身。

任何想法都会受到高度赞赏。

由于

UPDATE:

这是一个想到的想法,但我怀疑它适用于每个网页:

  1. 通过URL连接将HTML读入字符串。

  2. 在字符串中搜索下一次出现的"favicon"

  3. 找到封装在两边的"分隔符。

  4. 如果结果以"http"开头,则按原样返回。

  5. 如果结果以"\"开头,则返回前缀为网页网址。

  6. 返回步骤#2。

1 个答案:

答案 0 :(得分:1)

<强>图标

您应该首先使用自己喜欢的搜索引擎来了解“favicon”项目的发布方式,以便浏览器知道要加载的位置。您将找到更多信息,但最常见的方法是在html / head中放置以下链接:

<link rel="shortcut icon" href="/i_dont_name_it_fav_icon.ico" />

解析HTML

在许多情况下,我担心你的想法不会成功。由于HTML不是XML,因此最好使用jsoup来提取所需的信息。

抓取/加载页面

在使用HttpURLConnection之前,我建议使用库来加载Web资源,因为HttpURLConnection不易使用。如果找到一个好的图书馆很难找,请查看Apache Http Client。我在HttpURLConnection上实现了一个小包装:DavidWebb。它重量轻,易于使用。