是否有提取任何网页的favicon URI的通用方法?
最初,我以为我可以使用Java / HttpURLConnection,读取XML并解析它。
但我怀疑在网页中放置图标的方法数量有限。
请注意,我想检索favicon的URI,而不是下载favicon图像本身。
任何想法都会受到高度赞赏。
由于
这是一个想到的想法,但我怀疑它适用于每个网页:
通过URL连接将HTML读入字符串。
在字符串中搜索下一次出现的"favicon"
。
找到封装在两边的"
分隔符。
如果结果以"http"
开头,则按原样返回。
如果结果以"\"
开头,则返回前缀为网页网址。
返回步骤#2。
答案 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。它重量轻,易于使用。