如何获取不同网站的favicon默认图标

参考文章:

1、利用公共api提取任意网站favicon.ico图标

如何读取favicon

根据设置favicon的方式,就有2种读取favicon的方法:

A、默认直接读取网站根目录的favicon.ico文件。

B、如果不存在根目录下的favicon.ico文件,就读取页面里favicon的声明。

相比之下,获取网站根目录下的favicon.ico文件是最简单快捷的,但如果网站根目录下没有该文件,就需要使用后台程序读取网页的源代码,非常的麻烦。

为了克服获取favicon的麻烦,应运而生了一些获取favicon的公共API,如:

dnspod:http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=url网址【特别推荐】

google:http://www.google.com/s2/favicons?domain=域名

getFavicon:http://www.getfavicon.org/?url=url地址

g.etfv.co:http://g.etfv.co/url地址

对网络速度而言,dnspod是国内的,快速并且稳定。谷歌的稳定性值得信赖,但因为时常在墙外,而不得不放弃。第3个getFavicon是早期获取favicon的网站,目前已经game over了。第4个也是国外的,也是经常在某些地区无法正常访问。第1和第2个胜出一筹。

对于传递参数而言,dnspod和谷歌都是传参域名,第3和第4个是传参url。第3和第4个胜出一筹。

总体而言,4个都打成了平手。

如此境遇下,我开发了一款获取网站favicon的公共API,只需要在传入网址即可获取图片,目前服务器设置在香港,无国界的访问,可以获取任何网址的favicon。并且,图片具有缓存30天的期限,第2次获取同一个域名(含多级域名)的favicon会更加快速。使用方法也很简单,如:

获取百度的favicon

http://*/?url=http://www.baidu.com

获取谷歌的favicon

http://*/?url=http://www.google.com

获取facebook的favicon

http://*/?url=http://facebook.com

获取github的favicon

http://*/?url=http://github.com

因流量以及滥用关系,现已经跳转到dnspod服务器的favicon获取方式,请使用该API的朋友尽快迁徙,该API将于今年年底彻底关闭。请使用http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=网站地址 来获取该网站的favicon。

2、使用PHP获取网站Favicon的方法

最近做一个Tab需要在网站名旁边显示网站的Favicon以提高显示效果,如图:

开始做的时候想到的是利用Google的方式来获取,使用“http://www.google.com/s2/favicons?domain=网址”的方式可以直接获得网站的Favicon图标并以16*16大小图片的形式显示出来,这个方法简单方便,但在有些网络环境下却会出现图片无法显示的问题(需要FQ),为了解决这个BUG我决定重新写一个获取Favicon的函数,使用自己的服务器以避免FQ。

实际效果请参见示例:

http://favicon.byi.pw/?url=blog.icewingcc.com

如果不想自己写方法的话也可以使用我提供的接口,即“http://favicon.byi.pw/?url=网址”,网址可以带http://前缀。

代码(调用Google的方式,这种方式可以减少代码量,并且速度也比较快):

1 <?php
2 if(isset($_GET[‘url‘])){
3     $icon file_get_contents("http://www.google.com/s2/favicons?domain=" $_GET[‘url‘]);
4     if($icon){
5         header(‘Content-type:image/png‘);
6         echo $icon;
7     }
8 }

没错,就这几行代码搞定一切 ^_^

这样只要我们使用的服务器能够访问Google就可以正常显示出Favicon,不再受网络环境的影响。

复杂些的方法就是自己写获取函数,这里我只提供思路,就不再写代码了,如果有需要代码可留言,定附上。

一般网站都会把自己的Favicon图标以“favicon.ico”命名并放在网站根目录下,如http://www.baidu.com/favicon.ico。所以可以直接使用PHP函数 file_get_contents()来获取图片内容,设置Header为PNG图片,显示出来即可。

如果根目录没有favicon.ico这个文件的话可以使用file_get_contents或CURL获取网页的内容,使用正则找到“ <link rel=”shortcut icon” href=”..” />”,href里面便是favicon的文件位置,直接获取它的内容即可。

时间: 2024-07-30 23:49:27

如何获取不同网站的favicon默认图标的相关文章

为网站添加favicon.ico图标

前言 貌似每次都是等到网站快收尾时才做favicon.ico的,这次也不例外.这年代-- 步骤 1.PS制作正方形图标,格式为jpg.jpeg.gif或png. 2.将图标转换为ICO格式,网上有很多在线转换工具,如http://www.ico.la/old.html . 3.将转换好的ICO格式图标放到网站中. 4.网页代码<head></head>之间添加: <link rel="shortcut icon" href="images/fav

网站如何添加和制作favicon.ico图标教程

经常看到有部分网站没有 favicon.ico 图标,所以今天打算普及一下相关知识,希望还没有 favicon.ico 图标的站长们,能够制作出自己独特的图标. 那么到底什么是favicon.ico? 好搜百科给出的解释:所谓 favicon,即 Favorites Icon 的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站.当然,这不仅仅是 Favicon 的全部,根据浏览器的不同,Favicon 显示也有所区别:在大多数主流浏览器如 FireFo

Swift - 异步加载各网站的favicon图标,并在单元格中显示

下面是一个简单的应用,表格视图的各个单元格自动异步加载各个网站的favicon图标,并显示出来. 主要是复习下如何自定义单元格,单元格中图片的异步加载,以及didSet的用法. 效果图如下: 操作步骤: (1)先创建单元格类 - FaviconTableViewCell.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

板邓:给网站添加favicon图标

网站添加favicon图标可以让浏览器识别我们网站的品牌!所以还是蛮重要的! 第一步:制作你的logo图标favicon.png,然后把图片文件后缀改成favicon.ico:用ftp上传到根目录. 第二步:在网站的模板文件header 添加一段代码即可 <link rel="shortcut icon" href=favicon.ico" type="image/x-icon"

那么如何添加网站favicon.ico图标

1.  获得一个favicon.ico的图标,大小为16px×16px最为合适 2. 将制作好的图标文件Favicon.ico上传到网站的根目录: 3. 在首页文件的html代码的头部中加入如下代码: <link rel="Shortcut Icon" href="favicon.ico" > 4. 如果想收藏书签也有Favicon.ico图标,在上面那段代码下面加入 <link rel="Bookmark" href=&quo

织梦CMS站点favicon.ico图标的放置

1.在线制作一个ico图标,推荐制作网站:http://ico.55.la/.制作好后,将favicon.ico图标放在站点模板默认目录下的images文件夹里. 2.在index.htm的<head></head>标签之间,写入如下代码: <link href="{dede:global.cfg_templets_skin/}/images/favicon.ico" rel="shortcut icon"> 3.favicon.

制作 Favicon.ico 图标教程

摘要:有一些站长认为 favicon.ico 图标对于一个网站没有什么作用.甚至有一些站长认为,少加载一个图片,页面设计展现的速度更快些.的确,理论上是对的,但乐猪认为这种想法是肤浅的!有这种想法的站长一般是没有编程入门知识的站长,下面分别讲一下 favicon.ico 图标的作用. Favicon.ico 图标是什么? 大家所说的 favicon,即是 Favorites Icon 的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别于其他的网站.当然,这不仅仅

Tomcat修改favicon.ico图标,Linux下Tomcat修改favicon.ico图标,Tomcat更换favicon.ico图标

Tomcat修改favicon.ico图标,Linux下Tomcat修改favicon.ico图标,Tomcat更换favicon.ico图标 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年3月2日 http://www.cnblogs.com/fanshu

php获取Alexa网站排名、流量、访问量、页面浏览量代码函数分享

alexa介绍 Alexa的网站世界排名主要分两种:综合排名和分类排名. 综合排名也叫绝对排名,即特定的一个网站在所有网站中的名次.Alexa每三个月公布一次新的网站综合排名.此排名的依据是用户链接数(Users Reach)和页面浏览数(Page Views)三个月累积的几何平均值. 分类排名,一是按主题分类,比如新闻.娱乐.购物等,Alexa给出某个特定网站在同一类网站中的名次.二是按语言分类,目前共分20种语言,比如英文网站.中文网站[Chinese (simpl) 和Chinese (t