V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Livid
265.67D
575.04D
V2EX  ›  Google

Google 有一个可以获取任意网站图标的 API

  •  2
     
  •   Livid ·
    PRO
    · Jul 18, 2025 · 9807 views
    This topic created in 282 days ago, the information mentioned may be changed or developed.
    https://www.google.com/s2/favicons?sz=96&domain_url=www.v2ex.com
    

    https://www.google.com/s2/favicons?sz=32&domain_url=www.v2ex.com
    

    能根据尺寸需求自动选择不同的图片来源。

    45 replies    2026-01-24 11:20:35 +08:00
    dejavv
        1
    dejavv  
       Jul 18, 2025
    不错哇,省的不规范的网站不好找了
    cmos
        2
    cmos  
       Jul 18, 2025
    `Chrome Extensions`有类似的 API ,也是差不多功能,但是不知道出于什么原因,被谷歌藏起来了。
    w568w
        3
    w568w  
       Jul 18, 2025
    这个和 <site>/favicon.ico 有什么区别吗,能检查网站的 metadata ?
    Shiroka
        4
    Shiroka  
       Jul 18, 2025   ❤️ 7
    512357301
        5
    512357301  
       Jul 18, 2025 via Android
    油猴默认模板里有这个,只是好奇为啥这个域名没被墙,哈哈哈
    Mystery0
        6
    Mystery0  
       Jul 18, 2025 via Android
    @w568w 不是所有网站的 ico 都是这个文件呀,不是 metadata 里面定义的吗
    AlphaTr
        7
    AlphaTr  
       Jul 18, 2025   ❤️ 1
    https://github.com/mat/besticon 这个开源项目也提供类似的功能
    xiaoming1992
        8
    xiaoming1992  
       Jul 18, 2025 via Android
    size 从 96 改成 192 ,结果响应我一个很小的图片。明明 v 站有 192 大小的 icon
    skiy
        9
    skiy  
       Jul 18, 2025
    早就知道了。。。之前写导航站时搞过。
    DiamondYuan
        10
    DiamondYuan  
       Jul 18, 2025   ❤️ 1
    @w568w 可以保护隐私,避免被 domain_url 知道你访问他。
    Rennen
        11
    Rennen  
       Jul 18, 2025   ❤️ 2
    https://icons.duckduckgo.com/ip3/www.google.com.ico

    感觉 duckduckgo 的 API 用的也蛮多
    iFrey
        12
    iFrey  
    PRO
       Jul 18, 2025 via iPhone   ❤️ 2
    Favicon.is 推荐下自己
    BeCool
        13
    BeCool  
    PRO
       Jul 18, 2025   ❤️ 9
    Google 对于新站可能展示不了,并且缓存时间久。
    所以去年开发了 https://favicon.im 部署于 cloudflare 上,支持默认尺寸(在页面上找到的第一个)和 larger 。
    现在每月 serve 的请求数大于三千万次。
    FrankAdler
        14
    FrankAdler  
       Jul 18, 2025 via Android
    之前做一个功能,自己猜 icon 文件路径或者抓 html 分析😂
    512357301
        15
    512357301  
       Jul 18, 2025 via Android
    @512357301 露怯了,原来也被墙了,只是我浏览器开了代理所以无感😓
    ZxBing0066
        16
    ZxBing0066  
       Jul 18, 2025
    https://blog.heyfe.org/blog/chrome-extension-favicon

    之前做 chrome 插件的时候整理过,manifest v2 、Google 、duckduckgo 。
    est
        17
    est  
       Jul 18, 2025
    以前 gmail 的 favicon 直接展示未读邮件数量。
    dufu1991
        18
    dufu1991  
       Jul 18, 2025
    我的 Mac 上 Chrome 默认新标签页上的 ico 不清晰,看了下地址是 chrome://favicon2/?size=24&scaleFactor=1x&showFallbackMonogram=&pageUrl=https%3A%2F%2Fv2ex.com%2F ,大小是 24 ,手动改成 48 就会清晰很多,说明大尺寸浏览器是已经存储了的,但是默认才 24 ,而且没有设置的地方,看着就很烦,就因为这点细节没处理好弃用了。你们的清晰吗?
    KaynWASD
        19
    KaynWASD  
       Jul 18, 2025
    @BeCool 老哥这个能挣钱吗
    elevioux
        20
    elevioux  
       Jul 18, 2025 via Android
    之前用 ai 写个书签工具时,ai 自己吐出来了
    BeCool
        21
    BeCool  
    PRO
       Jul 18, 2025   ❤️ 2
    @wasd6267016 不需要所有工具都赚钱,成为一个基础设施也挺好。另外 cloudflare 给了赞助,所以目前没有账单。
    bxb100
        22
    bxb100  
       Jul 18, 2025
    其实 raycast 总结过了

    Apple: This provider makes use of Apple’s Link Presentation framework which tries to directly find the favicon on the domain’s server from the client.
    DuckDuckGo: This provider makes use of DuckDuckGo’s public endpoint.
    Google: This provider makes use of Google’s public endpoint at https://google.com/s2/favicons.
    Raycast: This provider makes use of our own public endpoint at https://api.ray.so/favicons. It’s open source as well.
    ano
        23
    ano  
       Jul 19, 2025
    有用。好奇怎么发现的
    lca261224
        24
    lca261224  
       Jul 19, 2025
    并非任意网站,有少部分网站不支持,我记得小红书就不支持这个方法获取图标,而且获取的图标也不一定有你想要的清晰度,比如 github 的图标我记得就只有一张非常糊的图标
    3276074454643Sj
        25
    3276074454643Sj  
       Jul 19, 2025
    我做导航网站的时候,搜集了一部份,自己也在用,我放这里了,可以自取: https://tabboard.com/zh/developer/favicon-api
    jchencode
        26
    jchencode  
       Jul 19, 2025
    哇哦,感谢科普
    3276074454643Sj
        27
    3276074454643Sj  
       Jul 19, 2025
    @3276074454643Sj 发错了地址,这里才对: https://tabboard.com/zh/developer/api
    bowencool
        28
    bowencool  
       Jul 19, 2025
    @ano #23 油猴脚本大部分用的都是这个 API
    cat1879
        29
    cat1879  
       Jul 20, 2025
    其实用得很少吧,直接打开风站按 F12 也能找到
    semxau789
        30
    semxau789  
       Jul 20, 2025
    反馈一个问题:

    https://favicon.im/zh/neal.fun

    取的图标是错误的,同样的链接,Google 没问题
    lizhenda
        31
    lizhenda  
       Jul 20, 2025
    厉害咯,回帖收集到很多不同的方案
    ethusdt
        32
    ethusdt  
       Jul 20, 2025
    很多油猴脚本就是用这个方法:

    // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
    BeCool
        33
    BeCool  
    PRO
       Jul 20, 2025
    @semxau789 我看了一下,返回的图片是一致的。
    katana97
        34
    katana97  
       Jul 21, 2025
    之前让 AI 帮我写油猴子脚本的时候就发现了,他直接用谷歌帮我获取了网站 icon
    ollama
        35
    ollama  
       Jul 21, 2025
    路过。这干什么用的?
    semxau789
        36
    semxau789  
       Jul 21, 2025
    hausen
        37
    hausen  
       Jul 21, 2025
    @BeCool #13 老哥对于实在获取不到的网站,是不是得搞一个默认图标,我这直接 504 ,使用图片懒加载导致一直转圈圈
    yodi
        38
    yodi  
       Jul 21, 2025
    不懂就问,直接 https://目标 hostname/favicon.ico 不就有了吗,为啥要用这个?
    abelce
        39
    abelce  
       Jul 21, 2025
    @yodi 有些站点的 facvicon 只能自己的域名访问,名字还不一定叫 favicon.ico ,需要解析 header 头里的 icon 来确定
    yodi
        40
    yodi  
       Jul 21, 2025
    @abelce 原来如此,谢谢科普
    BeCool
        41
    BeCool  
    PRO
       Jul 21, 2025
    @hausen 是有返回默认图标的。但会有其他异常,建议前端也做一个 fallback ,img 有一个 error 事件,可以用来替换成默认图标。
    BeCool
        42
    BeCool  
    PRO
       Jul 22, 2025
    @semxau789
    理解了,因为目前 favicon 是域名级别的,会忽略传入的路径,只取 host 首页去获取,因为内页 favicon 不同比较少。这里我去做下支持。
    lypdarling
        43
    lypdarling  
       Jan 23
    @BeCool 请问下如果一个网站没有找到 favicon ,会有 fallback 措施吗?
    Livid
        44
    Livid  
    MOD
    OP
    PRO
       Jan 24   ❤️ 1
    @BeCool 如果需要 test case 的话,V2EX 的每一个 /go/:node_name 页面的 favicon 和 touch icon 都不一样:

    https://www.v2ex.com/go/python
    https://www.v2ex.com/go/wunder
    https://www.v2ex.com/go/retro
    BeCool
        45
    BeCool  
    PRO
       Jan 24
    @lypdarling 目前会返回一个默认 favicon 。我会支持下添加 default-avatar 参数指定默认,或者用 throw-error=true 让调用者可以在前端直接用 onerror 替换。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   824 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    ♥ Do have faith in what you're doing.