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

news/2024/5/15 13:21:30/文章来源:https://blog.csdn.net/weixin_34087301/article/details/85775181

参考文章:

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以提高显示效果,如图:

icetab开始做的时候想到的是利用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
2if(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的文件位置,直接获取它的内容即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_704592.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何自己搭建钓鱼网站检测系统

001基本系统架构 随着电子商务、互联网金融的快速发展&#xff0c;在利益的驱使下&#xff0c;从事“钓鱼攻击”的黑产呈逐渐上升趋势。“钓鱼攻击”不仅对企业的品牌形象造成严重损害&#xff0c;还对用户的账户安全、甚至资金安全构成了极大的威胁。 目前“钓鱼攻击”已经为了…

给网站配置免费的HTTS证书

最近看到网上说 https 的网站 Google 会优先收录&#xff0c;所以就抽时间记录下配置博客的过程。 ACME 使用 LetEncrypt 证书作为博客的 https 实现方式。 acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. github https://github.com/Neilpang/acme.sh 主要步骤…

你写论文时发现了哪些神网站?

周不润&#xff0c;神经科学收录于 编辑推荐•18860 人赞同神网站算不上&#xff0c;都是一些为写作带来便利的网站。而且作为一些最常用网站的替代品&#xff0c;这些网站有的更精确&#xff0c;有的更便捷。&#xff08;16.02.27 更新&#xff09;以下内容包括&#xff1a;选…

网站设计师必备50教程

很必然&#xff0c;下面的50个教程都源自于国外&#xff0c;虽然是E文&#xff0c;但是我相信很多朋友都有能力读懂&#xff0c;实在不行的。。就拜托一些翻译工具吧&#xff0c;但是积少成多&#xff0c;希望别用太多&#xff0c;很多东西都是要靠自己来理解的&#xff0c;这5…

有哪些优秀的科学网站和科研软件推荐给研究生?

ljthyd &#xff0c;食品科学博士&#xff0c;粮食加工2032 人赞同写几个常见的我觉得挺好的网站及软件&#xff0c;也不知道你什么学科&#xff0c;就写一些所有学科基本都用得到的吧。1、小木虫论坛&#xff08;小木虫论坛 - 学术科研第一站&#xff09;及其APP这个论坛应该相…

网站建设ASP中UTF-8与GB2312编码转换乱码问题的解决方法

现在blog程序一般都是utf-8编码的&#xff0c;要在网站里加入其它的程序的话&#xff0c;如果不是utf-8而是gb2312的话&#xff0c;在页面转换的时候很容易出现打开的页面时乱码&#xff0c;经过查找资料和测试&#xff0c;总结出现在最好的一个方法&#xff0c;先了解一下基础…

有哪些高质量的图片网站(社区)推荐?

知乎用户 &#xff0c;十年饮冰&#xff0c;难凉热血。45 人赞同免费 可商用 不需要署名 Gratisography: Free, use as you please, high-resolution pictures.http://picjumbo.com/page/5/Life Of Pix - Free Stock Photos & ImagesIM Free - Free Images, Free Icons, Fr…

刚学编程的程序员必备这5大编程网站,你知道几个?

一个好的网站&#xff0c;就是程序员学编程的基地。虽说新手程序员也许知道一些在线编程网站&#xff0c;但是质量上乘的编程网站又知道几个呢?下面就来给大家推荐5个质量上乘的编程网站&#xff1a;0、LeetcodeLeetCode是大名鼎鼎的在线刷题网站&#xff0c;通过该网站的刷题…

如何注册域名-买服务器-备案-建设网站

谁可以提供如何注册域名&#xff0d;买服务器&#xff0d;备案&#xff0d;建设网站&#xff1f; 域名没问题、服务器也买了、备案啊&#xff1f;网站呢&#xff1f; 谁是大神请指点&#xff01;

Web网站架构演变—高并发、大数据

转 Web网站架构演变—高并发、大数据 2018年07月25日 17:27:22 gis_morningsun 阅读数&#xff1a;599前言 我们以javaweb为例&#xff0c;来搭建一个简单的电商系统&#xff0c;看看这个系统可以如何一步步演变。 该系统具备的功能&#xff1a; 用户模块&#xff1a;用户注册和…

LNMP动态网站

LNMP基础知识 什么是LNMP 主流的企业网站平台之一L:Linux操作系统N:Nginx网站服务软件M:MySQL.MariaDB数据库P:网站开发语言(PHP.Perl.Python) 静态网站和动态网站区别 静态网页&#xff1a; &#xff08;1&#xff09;静态网页不能简单地理解成静止不动的网页&#xff0c;他…

项目:部署LNMP动态网站

部署LNMP动态网站 问题 部署LNMP动态网站&#xff0c;实现以下目标&#xff1a; 安装LNMP平台相关软件配置Nginx实现动静分离配置数据库&#xff0c;创建账户与密码上线Wordpress代码使用Wordpress后台管理界面&#xff0c;调整Wordpress版式 方案 实验拓扑如图所示&#…

项目:网站架构,集群

网站架构的演变 问题 单机版LNMP独立数据库服务器Web服务器集群与Session保持动静分离、数据库集群各种缓存服务器业务模型 单机版LNMP 单机版网站&#xff0c;拓扑如图所示。 用户量少时使用&#xff0c;简单、成本低、存在单点故障。 独立数据库服务器 独立数据库服务…

搭建WordPress个人网站

准备域名 搭建网站的第一步肯定拥有一个自己的域名&#xff08;当然愿意用IP地址直接访问也没什么问题&#xff09;&#xff0c;域名购买途径很多&#xff0c;阿里云、腾讯云、百度云等服务器供应商都能购买域名&#xff0c;一般建议域名和服务器都在同一个平台购买&#xff0…

设计企业网站大纲_哈尔滨企业网站设计费用,网站开发公司_华阳网络

天津华阳在线科技有限公司为您详细解读哈尔滨企业网站设计费用,网站开发公司的相关知识与详情&#xff1a;中企动力一般会先确定客户的网站所属行业,仔细分析其市场前景,明确市场与网站的需求特点,评估网站未来的发展空间。确认网站的市场需求以上的这些就是影响网站运营的两大…

python制作动态网站_精析Python3实现动态web服务(附服务端源码)

实现一个简单的静态web网站,只需将写好的html页面上传到特定的web服务器软件即可,但静态网页其实和图片没什么区别,每次更新网站内容,都需要重新制作html页面,然后上传给提供web服务的软件,替换原来的html页面,也就完成了更新,以一个正常人的思维方式,每次更新内容都要重新生成…

博客网站源代码_网站建设技术--WORDPRESS

一、Wordpress是什么&#xff1f;Wordpress是世界上应用最广泛的开源CMS程序。用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。全球1/4的网站都是用wordpress制作&#xff0c;它起初只是一款个人博客系统&#xff0c;之后逐步演化成一款内容管理系统软件&#x…

无法更改域名 php网页,WordPress更改新域名后网站无法正常运行怎么办?

很多站长在吐槽WordPress站点更改域名后网站无法正常运行&#xff0c;其实这是一个比较简单的问题&#xff0c;一般新手站长会经常遇到这个问题&#xff0c;那么WordPress更改新域名后网站无法正常运行怎么办&#xff1f;方法一&#xff1a;修改wp-config.php1、在wp-config.ph…

Ubuntu系统下的云服务器网站搭建

Ubuntu系统下的云服务器网站搭建&#xff08;一&#xff09; 由于近来一直在学网页开发&#xff0c;所以对于WAMP环境下的网站搭建虽不能说多么精通&#xff0c;但是对于其中流程还是比较熟悉的。并且自己也在本机上写了一些有点规模的网站&#xff0c;通过把自己本地的web服务…

作为前端,你不得不知道的SEO

研发的同学&#xff0c;其实很多人并没有深入了解SEO这个概念。在技术博客里&#xff0c;提及这一块的也寥寥无几。我今天就拿自己的经验&#xff0c;简单给大家扫个盲&#xff0c;有什么遗漏的地方&#xff0c;欢迎大家补充。 文字内容有点多&#xff0c;但是干货满满&#xf…