मैं वेब साइट का फ़ेविकॉन कैसे प्राप्त कर सकता हूं?


115

सरल पर्याप्त प्रश्न: मैंने एक छोटा सा ऐप बनाया है जो मूल रूप से सिर्फ एक पसंदीदा है जो मेरे सिस्टम ट्रे में बैठता है ताकि मैं एक ही जगह से अक्सर उपयोग की जाने वाली साइटों / फ़ोल्डरों / फाइलों को खोल सकूं। ज्ञात फ़ाइल प्रकारों के लिए मेरे सिस्टम से डिफ़ॉल्ट आइकन प्राप्त करना बहुत जटिल नहीं है, लेकिन मुझे नहीं पता कि किसी वेबसाइट से फ़ेविकॉन कैसे प्राप्त किया जाए। (तो उदाहरण के लिए पता बार में ग्रे-> नारंगी स्टैक आइकन है)

क्या किसी को पता है कि मैं उसके बारे में कैसे जा सकता हूं?


1
मुझे यकीन नहीं है कि इस पृष्ठ के लोडिंग / पार्सिंग को स्वचालित करना कितना आसान (या संभव) होगा, लेकिन ऐसा लगता है कि सब कुछ है: फ़ेविकॉन-चेकर । बहुत कम से कम, आप इसे संदर्भ / चेक के रूप में उपयोग कर सकते हैं।
केविन फेगन

आप बस स्टैट्वू फेविकॉन एपीआई का उपयोग कर सकते हैं , यह बहुत जल्दी और दर्द रहित होगा।
AO_

फ़ेविकॉन किट आपको मिल और नियमित रूप से छवियों की तरह एम्बेड पसंदीदा आइकन में देता है 16 पिक्सल की तुलना में काफी बड़े आकार , यदि उपलब्ध है। (प्रकटीकरण: मैं लेखक हूँ)
२०

जवाबों:


234

आप इसे कुछ तरीकों से निपटना चाहेंगे:

  1. के लिए देखो favicon.icoडोमेन की जड़ में

    www.domain.com/favicon.ico

  2. विशेषता के <link>साथ एक टैग की तलाश करेंrel="shortcut icon"

    <link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico" />

  3. विशेषता के <link>साथ एक टैग की तलाश करेंrel="icon"

    <link rel="icon" href="https://stackoverflow.com/favicon.png" />

बाद के दो आमतौर पर एक उच्च गुणवत्ता वाली छवि प्राप्त करेंगे।


बस सभी आधारों को कवर करने के लिए, डिवाइस विशिष्ट आइकन फाइलें हैं जो उच्च गुणवत्ता वाली छवियां प्राप्त कर सकती हैं क्योंकि इन उपकरणों में आमतौर पर एक ब्राउज़र की तुलना में डिवाइस पर बड़े आइकन होते हैं:

<link rel="apple-touch-icon" href="images/touch.png" />

<link rel="apple-touch-icon-precomposed" href="images/touch.png" />


और आइकन को चिन्हित किए बिना डाउनलोड करने के लिए कि आप कौन से आइकन का उपयोग कर सकते हैं जैसे http://www.google.com/s2/favicons जो सभी भारी उठाने का काम करेगा:

var client = new System.Net.WebClient();

client.DownloadFile(
    @"http://www.google.com/s2/favicons?domain=stackoverflow.com",
    "stackoverflow.com.ico");

1
GetFavIcon अभी भी काम करता है? जब मैं आपका उदाहरण चलाता हूं तो मुझे 400 त्रुटि मिलती है
जूलियन

17
लगता है कि Google के पास अब एक समान सेवा है: google.com/s2/favicons?domain_url=stackoverflow.com
शिकारी

20
अगर कोई Google का विकल्प चाहता है, तो DuckDuckGo के पास एक और उपाय है: icons.duckduckgo.com/ip2/www.stackoverflow.com.ico
जोस सेरोडियो

1
@ हंटर google.com/s2/favicons16x16 के साथ एक आइकन है यह भयानक आइकन है क्या आप जानते हैं कि बड़ा आइकन कहां लेना है?
nideba

1
@JoseSerodio - ठीक है ... वह पहली चीज़ थी जो मैंने कोशिश की थी, लेकिन जिस डोमेन के लिए मैं जाँच कर रहा था, मुझे एक सर्कल के अंदर एक सही पॉइंटिंग तीर (अधिक से अधिक) की "मंद / सुस्त" छवि मिली । यह ऐसा दिखता था , लेकिन मैंने यह सुनिश्चित करने के लिए जाँच की कि मेरे पास "domain.com.ico" सही ढंग से लिखा गया था। अब, इंटरनेट के चमत्कार से, यह सही ढंग से काम कर रहा है ... जाओ आंकड़ा =) इसलिए, नेवरमाइंड।
केविन फेगन

19

अपडेटेड 2020

यहां तीन सेवाएं हैं जिनका उपयोग आप 2020 के बाद कर सकते हैं

<img height="16" width="16" src='https://icons.duckduckgo.com/ip3/www.google.com.ico' />

<img height="16" width="16" src='http://www.google.com/s2/favicons?domain=www.google.com' />

<img height="16" width="16" src='https://api.statvoo.com/favicon/?url=google.com' />

4
Grabicon.com अब $ 9 / मो
जोंट

1
एक और एक: favicon.allesedv.com <img चौड़ाई = "144" ऊंचाई = "144" src = "// f3.allesedv.com/144/www.stackoverflow.com" />
मार्टिन सीटल

यह सेवा अब काम नहीं करती है, आप api.statvoo.com/favicon/?url=stackoverflow.com का उपयोग कर सकते हैं । मैंने इसे कुछ वर्षों के लिए उपयोग किया है और इसने मुझे कभी निराश नहीं किया।
AO_

धन्यवाद @A__, IM वास्तव में इन दिनों duckduckgo का उपयोग कर रहा है, Ive ने अपना उत्तर अपडेट किया
Blowsie

1
@saintvixalien मेरा मानना ​​है कि यह हाल ही में उन लोगों के लिए बदल गया है जो API कुंजी के साथ आरंभ नहीं करते हैं, जैसा कि सर्वरों को पाउंड किया जा रहा है;) मैं प्राथमिक सेवा का उपयोग एपीआई कुंजी के साथ करता हूं और सीधे आवरण के बिना प्रतिक्रियाएं प्राप्त करता हूं। मैंने एक एपीआई कुंजी के बिना परीक्षण किया और यह Google की सेवा को पुनर्निर्देशित करता है जैसा आपने कहा था ..
AO_


6

साइट रूट में पहली चीज देखने के लिए /favicon.ico है; WebClient.DownloadFile () की तरह कुछ ठीक करना चाहिए। हालाँकि, आप मेटाडेटा में आइकन भी सेट कर सकते हैं - SO के लिए यह है:

<link rel="shortcut icon"
   href="http://sstatic.net/stackoverflow/img/favicon.ico">

और ध्यान दें कि वैकल्पिक आइकन उपलब्ध हो सकते हैं; उदाहरण के लिए "स्पर्श" एक बड़ा और उच्च रिज़ॉल्यूशन देता है:

<link rel="apple-touch-icon"
   href="http://sstatic.net/stackoverflow/img/apple-touch-icon.png">

इसलिए आप यह कहेंगे कि या तो HTML Agility Pack या XmlDocument (यदि xhtml) है और WebClient.DownloadFile () का उपयोग करें

यहाँ कुछ कोड मैंने चपलता पैक के माध्यम से प्राप्त करने के लिए उपयोग किया है:

var favicon = "/favicon.ico";
var el=root.SelectSingleNode("/html/head/link[@rel='shortcut icon' and @href]");
if (el != null) favicon = el.Attributes["href"].Value;

ध्यान दें कि आइकन उनका है, आपका नहीं।


1
धन्यवाद मार्क। मैं उदाहरण की सराहना करता हूं। छवियों को लिखिए, मुझे शॉर्टकट के लेबल के बगल में संदर्भ मेनू में आइकन के अलावा किसी भी चीज़ के लिए उन्हें संशोधित करने या उनका उपयोग करने का इरादा नहीं है।
स्टीवन एवर्स

4

प्रत्येक पेज की ज़रूरतों की संख्या को कम करने के लिए यह एक अच्छा अभ्यास है। इसलिए यदि आपको कई आइकनों की आवश्यकता है, तो यैंडेक्स एक क्वेरी में फेवीकोन का एक स्प्राइट कर सकता है। यहाँ एक उदाहरण है http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/


3

Yo वेबसाइट-एस HTML से फ़ेविकॉन URL प्राप्त कर सकते हैं।

यहाँ फ़ेविकॉन टैग है:

<link rel="icon" type="image/png" href="/someimage.png" />

आपको यहां एक नियमित अभिव्यक्ति का उपयोग करना चाहिए। यदि कोई टैग नहीं मिला, तो साइट रूट निर्देशिका में "favicon.ico" देखें। यदि कुछ नहीं मिला, तो साइट में फेविकॉन नहीं है।


2

आप इसे बिना प्रोग्रामिंग के कर सकते हैं । बस वेब साइट खोलें, राइट-क्लिक करें और उस साइट का HTML कोड खोलने के लिए "व्यू सोर्स" चुनें । फिर पाठ संपादक में "फ़ेविकॉन" की खोज करें - यह आपको कुछ तलाशने के लिए निर्देशित करेगा

<link rel="icon" href='/SOMERELATIVEPATH/favicon.ico' type="image/x-icon" />

स्ट्रिंग को अंदर ले जाएं hrefऔर इसे वेब साइट के बेस URL पर ले जाएं (मान लें कि यह है "http://WEBSITE/"), इसलिए यह ऐसा दिखता है

http://WEBSITE/SOMERELATIVEPATH/favicon.ico

जो कि फेविकॉन का पूर्ण मार्ग है। यदि आपने इसे इस तरह नहीं पाया है, तो यह उस रूट में भी हो सकता है जिस स्थिति में URL है http://WEBSITE/favicon.ico

आपके द्वारा निर्धारित URL लें और इसे निम्नलिखित कोड में डालें:

<html>
  <head>
   <title>Capture Favicon</title>   
  </head>
  <body>
    <a href='http://WEBSITE/SOMERELATIVEPATH/favicon.ico' alt="Favicon"/>Favicon</a> 
  </body>
</html>

इस HTML कोड को स्थानीय रूप से (जैसे आपके डेस्कटॉप पर) सहेजें GetFavicon.htmlऔर फिर इसे खोलने के लिए इस पर डबल-क्लिक करें। यह केवल Favicon नाम के लिंक को प्रदर्शित करेगा । इस लिंक पर राइट-क्लिक करें और अपने स्थानीय पीसी पर फ़ेविकॉन को बचाने के लिए "टारगेट इस रूप में सेव करें ..." का चयन करें और आपका काम हो गया!


1
        HttpWebRequest w = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com/favicon.ico");

        w.AllowAutoRedirect = true;

        HttpWebResponse r = (HttpWebResponse)w.GetResponse();

        System.Drawing.Image ico;
        using (Stream s = r.GetResponseStream())
        {
            ico = System.Drawing.Image.FromStream(s);
        }

        ico.Save("favicon.ico");

1

यह एक देर से जवाब है, लेकिन पूर्णता के लिए: सभी फ़ेविकॉन प्राप्त करने के 90% के करीब भी प्राप्त करना बहुत मुश्किल है।

कुछ समय पहले मैंने एक वर्डप्रेस प्लगइन लिखा था: http://wordpress.org/extend/plugins/wp-favicons/ जो करीब आने का प्रयास करता है।

ए। यह फेविकॉन रिपॉजिटरी जैसे कि google favicons, getfavicons आदि को देखकर शुरू होता है ...

ख। यदि उनमें से कोई भी आइकन नहीं लौटाता है (मैं इसे डिफ़ॉल्ट आइकन के साथ मिलान करके जांचता हूं तो वे वापस आते हैं) मैं आइकन को स्वयं प्राप्त करने का प्रयास करके शुरू करता हूं

सी। इसमें पृष्ठों को ट्रेस करना शामिल है, लेकिन 404 पर ट्रैसिंग न करने के साथ-साथ नो ऑटोरेडायरेक्ट के साथ रीडायरेक्ट को भी शामिल करना है क्योंकि 404 का आइकन भी मौजूद हो सकता है। अंत में इसका मतलब है कि आपको html हेडर में रीडायरेक्ट करने के साथ-साथ जावास्क्रिप्ट रीडायरेक्ट करने के लिए 100% होने के करीब पहुंचाना होगा।

घ। उसके बाद मैं भौतिक छवि फ़ाइल पर कुछ निरीक्षण करता हूं, क्योंकि कभी-कभी कुछ सर्वरों पर (मैं 300.000+ परीक्षण किया गया) फाइलें गलत माइम प्रकार आदि के साथ वापस आ जाती हैं।

कोड अभी भी सही नहीं है क्योंकि विवरण में यह पागल हो जाता है, आपको कई अजीब परिस्थितियां मिलेंगी: लोगों को गलत तरीके से कोडित पथ (img / favicon.ico जहां img जड़ में नहीं है), html आउटपुट में डुप्लिकेट हेडर, अलग-अलग प्रतिक्रियाएं एक सिर और शरीर आदि से ...

यहां आने वाले हिस्से का मुख्य हिस्सा है: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php ताकि आप इसे रिवर्स कर सकें, लेकिन आपको पता होना चाहिए कि प्रतिक्रिया को मान्य करना चाहिए वास्तव में किया जा सकता है (छवि फ़ाइल का आकार, माइम आदि की जाँच करना)


1

मैंने पाया है कि 'SHGetFileInfo' (हस्ताक्षर के लिए 'www.pinvoke.net' की जाँच करें) आपको एक छोटा या बड़ा आइकन पुनः प्राप्त करने देता है, जैसे कि आप किसी फ़ाइल / फ़ोल्डर / शेल आइटम के साथ काम कर रहे हों।

जेन्स;)


0

http://realfavicongenerator.net/favicon_checker?site=http://stackoverflow.com आपको फ़ेविकॉन विश्लेषण बताता है कि फ़ेविकॉन किस आकार में मौजूद हैं। आप यह देखने के लिए पृष्ठ जानकारी संसाधित कर सकते हैं कि कौन सी गुणवत्ता वाला फ़ेविकॉन है, और इसे प्राप्त करने के लिए इसे URL पर फ़ाइलनाम संलग्न करें।


0

आप Getfv.co का उपयोग कर सकते हैं :

एक फेविकॉन को पुनः प्राप्त करने के लिए आप इसे ... http://g.etfv.co/

इस पृष्ठ के लिए उदाहरण: http://g.etfv.co//programming/5119041/how-can-i-get-a-web-sites-favicon

सामग्री डाउनलोड करें और चलें!

संपादित करें:

Getfv.co और fvicon.com मृत दिखते हैं। यदि आप चाहते हैं कि मुझे एक गैर मुक्त विकल्प मिले: Grabicon.com


1
लिंक डेड, एरर: नॉट फाउंड
टैटोनी

@ttony वास्तव में। fvicon.com भी मृत दिखता है। मैं अपनी टिप्पणी को भुगतान की गई सामग्री के साथ संपादित करूंगा। अगर आपको कोई काम करने वाली लिंक मिलती है, तो कृपया इसे साझा करें!
aloisdg

0

Jquery का उपयोग करना

var favicon = $("link[rel='shortcut icon']").attr("href") ||
              $("link[rel='icon']").attr("href") || "";

0

2020 में, CLI से duckduckgo.com की सेवा का उपयोग कर रहा है

curl -v https://icons.duckduckgo.com/ip2/<website>.ico > favicon.ico

उदाहरण

curl -v https://icons.duckduckgo.com/ip2/www.cdc.gov.ico > favicon.ico
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.