如何获取网站icon有哪些可行的方法

获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。

更好的办法是通过google提供的服务来实现:
http://www.google.com/s2/favicons?domain=http://www.baidu.com

代码:


代码如下:

<!doctype html>
<html>

<head>
<meta charset="utf-8">
<style type="text/css">
#input {
height: 300px;
padding: 10px 5px;
line-height: 20px;
width: 1000px;
}
#submit {
height: 30px;
text-align: center;
color: #ffffff;
line-height: 30px;
width: 80px;
background-color: blue;
margin-top: 20px;
}
#result {
margin-top: 20px;
}
#result li {
height: 40px;
line-height: 40px;
float: left;
margin: 10px 14px;
}
</style>
</head>

<body>
<textarea id="input" placeholder="输入多个网址以空格间隔"></textarea>
<div id="submit">获取icon</div>
<ul id="result">

</ul>

<script type="text/javascript">
var input = document.getElementById("input");
var submit = document.getElementById("submit");
var result = document.getElementById("result");
var val;

function trim(str) {
var whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for (var i = 0, len = str.length; i < len; i++) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(i);
break;
}
}
for (i = str.length - 1; i >= 0; i--) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(0, i + 1);
break;
}
}
return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

function getFavIconUrl(url) {
var prohost;
prohost = url.match(/([^:\/?#]+:\/\/)?([^\/@:]+)/i);
prohost = prohost ? prohost : [true, "http://", document.location.hostname];

//补全url
if (!prohost[1]) {
prohost[1] = "http://";
}
//抓取ico
return "http://www.google.com/s2/favicons?domain=" + prohost[1] + prohost[2];
}
submit.onclick = function() {
val = input.value;
if (!val) alert("输入为空!");
val = val.split(" ");
val.forEach(function(item) {
item = trim(item);
if (!item) return;
result.innerHTML += "<li>" + item + "<img src='" + getFavIconUrl(item) + "'></li>";
});
};
</script>
</body>
</html>

源代码下载

(0)

相关推荐

  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用. 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favicons?domain=http://www.baidu.com 代码: 复制代码 代码如下: <!doctype html> <html> <head> <meta charset="

  • ASP.NET编程获取网站根目录方法小结

    本文实例讲述了ASP.NET编程获取网站根目录方法.分享给大家供大家参考,具体如下: 获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../"

  • php实现专业获取网站SEO信息类实例

    本文实例讲述了php实现专业获取网站SEO信息类.分享给大家供大家参考.具体如下: 这个seo类的功能包括: - 检查指定的网站响应 - 获取从该网站主页的语言和其他meta标签数据的 - 获取网站的导入链接,从Alexa的流量排名 - 获取网站的导入链接,由谷歌索引的网页数量 - 获取网站的信任,从WOT排名. - 获取,因为它是第一个注册的网站域名年龄 - 获取的Twitter网站页面的数量 - 获取的Facebook链接的网站页面 - 获取网站谷歌网页速度等级 - 获取网站的谷歌网页排名

  • php获取网站根目录物理路径的几种方法(推荐)

    在PHP中获取网站根目录物理路径. 在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php define("WWWROOT",str_ireplace(str_replace("/","\\",$_SERVER['PHP_SELF']),'',__FILE__)."\\"); echo

  • java实现获取网站的keywords,description

    获取网站的<meta name="keywords" content="" />和<meta name="description" content="">关键字和描述内容 实现HTML解析器jsoup 下载jsoup的lib地址:http://jsoup.org/download 复制代码 代码如下: package cn.evan.util; import java.io.IOException; i

  • C#实现根据给出的相对地址获取网站绝对地址的方法

    本文实例讲述了C#实现根据给出的相对地址获取网站绝对地址的方法.分享给大家供大家参考.具体分析如下: 这段C#代码在ASP.NET的项目中可以根据给定的相对地址获取绝对访问地址,例如:给出 /codes/index.php 可以返回http://www.jb51.net/codes/index.php的绝对地址结果. /// <summary> /// 根据给出的相对地址获取网站绝对地址 /// </summary> /// <param name="localPa

  • 基于Snoopy的PHP近似完美获取网站编码的代码

    先要到网上下载Snoopy.class.php 调用方法: 复制代码 代码如下: <?php require 'lib/Snoopy.class.php'; require 'lib/WebCrawl.class.php';//包含下面代码 $go=new WebCrawl('http://www.baidu.com'); echo $go->getCharset(); ?> 复制代码 代码如下: <?php class WebCrawl { private $url; priva

  • PHP简单获取网站百度搜索和搜狗搜索收录量的方法

    本文实例讲述了PHP简单获取网站百度搜索和搜狗搜索收录量的方法.分享给大家供大家参考,具体如下: 获取网站百度搜索和搜狗搜索的收录量代码,可以用于获取网站域名在搜索引擎的收录数量,一直想找这个API但没找到,就在网上找了个例子,学习修改了下,可以正常获取百度搜索和搜狗搜索的收录量了:原理是获取搜索引擎site:domain的结果数量,然后再抓取这个数量显示出来. function baidu($url){ $baidu="http://www.baidu.com/s?wd=site:"

  • PHP利用Socket获取网站的SSL证书与公钥

    通过 php curl 请求网页并不能获取到证书信息,此时需要使用 ssl socket 获取证书内容.下面来一起看看看详细的介绍: 示例代码: // 创建 stream context $context = stream_context_create([ 'ssl' => [ 'capture_peer_cert' => true, 'capture_peer_cert_chain' => true, ], ]); $resource = stream_socket_client(&q

  • PHP使用Alexa API获取网站的Alexa排名例子

    我们通会用Alexa的网站(或其它站长工具网站)来栓查我们的网​站流量排名,这样就必须去那些网站.实际上,可以通过Alexa XML API 获取网站的Alexa相关的数据(XML格式的),再使用XML解析器来解析Alexa返回的XML,得到Alexa排名或其它的数据. Alexa接口 Alexa的XML API接口是:http://data.alexa.com/data?cli=10&url=%YOUR_URL% 如果想获取更多的数据可以用:http://data.alexa.com/data

随机推荐