Einfach genug Frage: Ich habe eine kleine App erstellt, die im Grunde nur ein Favorit ist und sich in meiner Taskleiste befindet, damit ich häufig verwendete Websites / Ordner / Dateien von derselben Stelle aus öffnen kann. Das Abrufen der Standardsymbole von meinem System für bekannte Dateitypen ist nicht besonders kompliziert, aber ich weiß nicht, wie ich das Favicon von einer Website abrufen kann. (SO hat zum Beispiel das grau-orangefarbene Stapelsymbol in der Adressleiste)
Weiß jemand, wie ich das machen könnte?
Antworten:
Sie sollten dies auf einige Arten angehen:
Suchen Sie nach
favicon.ico
dem Stammverzeichnis der Domainwww.domain.com/favicon.ico
Suchen Sie nach einem
<link>
Tag mit demrel="shortcut icon"
Attribut<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico" />
Suchen Sie nach einem
<link>
Tag mit demrel="icon"
Attribut<link rel="icon" href="https://stackoverflow.com/favicon.png" />
Die beiden letzteren ergeben normalerweise ein Bild mit höherer Qualität.
Um alle Grundlagen abzudecken, gibt es gerätespezifische Symboldateien, die möglicherweise Bilder mit höherer Qualität liefern, da diese Geräte normalerweise größere Symbole auf dem Gerät haben, als ein Browser benötigen würde:
<link rel="apple-touch-icon" href="images/touch.png" />
<link rel="apple-touch-icon-precomposed" href="images/touch.png" />
Und um das Symbol herunterzuladen, ohne sich um das Symbol zu kümmern, können Sie ein Dienstprogramm wie http://www.google.com/s2/favicons verwenden, das das gesamte schwere Heben übernimmt:
quelle
google.com/s2/favicons
es ist ein Icon mit 16x16 es ist ein schreckliches Icon weißt du wo du ein größeres Icon nehmen sollst?Aktualisiert 2020
Hier sind drei Dienste, die Sie ab 2020 nutzen können
quelle
Sie können Google S2 Converter verwenden.
http://www.google.com/s2/favicons?domain=google.com
Quelle: http://www.labnol.org/internet/get-favicon-image-of-websites-with-google/4404/
quelle
Das erste, wonach Sie suchen müssen, ist /favicon.ico im Site-Stammverzeichnis. so etwas wie WebClient.DownloadFile () sollte gut funktionieren. Sie können das Symbol jedoch auch in Metadaten festlegen - für SO ist dies:
und beachten Sie, dass möglicherweise alternative Symbole verfügbar sind. Die "Berührung" ist tendenziell größer und höher aufgelöst, zum Beispiel:
Sie würden dies also entweder im HTML Agility Pack oder in XmlDocument (falls xhtml) analysieren und WebClient.DownloadFile () verwenden.
Hier ist ein Code, den ich verwendet habe, um dies über das Agility Pack zu erhalten:
Beachten Sie, dass das Symbol ihnen gehört und nicht Ihnen.
quelle
Es wird empfohlen, die Anzahl der Anforderungen, die jede Seite benötigt, zu minimieren. Wenn Sie also mehrere Symbole benötigen, kann yandex ein Sprite von Favoriten in einer Abfrage erstellen. Hier ist ein Beispiel: http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/
quelle
Sie können die Favicon-URL aus dem HTML-Code der Website abrufen.
Hier ist das Favicon-Tag:
Sie sollten hier einen regulären Ausdruck verwenden. Wenn kein Tag gefunden wurde, suchen Sie im Site-Stammverzeichnis nach "favicon.ico". Wenn nichts gefunden wird, hat die Site kein Favicon.
quelle
Sie können es ohne Programmierung tun . Öffnen Sie einfach die Website, klicken Sie mit der rechten Maustaste und wählen Sie "Quelle anzeigen" , um den HTML-Code dieser Website zu öffnen. Suchen Sie dann im Texteditor nach "favicon" - Sie werden zu etwas weitergeleitet, das aussieht
Nehmen Sie die Zeichenfolge auf
href
und hängen Sie sie an die Basis-URL der Website an (nehmen wir an, dass dies der Fall ist"http://WEBSITE/"
)Das ist der absolute Weg zum Favicon. Wenn Sie es nicht so gefunden haben, kann es sich auch im Stammverzeichnis befinden. In diesem Fall lautet die URL
http://WEBSITE/favicon.ico
.Nehmen Sie die von Ihnen festgelegte URL und fügen Sie sie in den folgenden Code ein:
Speichern Sie diesen HTML-Code lokal (z. B. auf Ihrem Desktop) unter
GetFavicon.html
und doppelklicken Sie darauf, um ihn zu öffnen. Es wird nur ein Link namens Favicon angezeigt . Klicken Sie mit der rechten Maustaste auf diesen Link und wählen Sie "Ziel speichern unter ..." , um das Favicon auf Ihrem lokalen PC zu speichern - und fertig!quelle
quelle
Dies ist eine späte Antwort, aber der Vollständigkeit halber: Es ist ziemlich schwierig, 90% des Abrufs aller Favoriten zu erreichen.
Vor einiger Zeit habe ich ein WordPress-Plugin geschrieben: http://wordpress.org/extend/plugins/wp-favicons/, das versucht, näher zu kommen.
ein. Es beginnt mit der Betrachtung von Favicon-Repositories wie Google Favicons, Getfavicons usw.
b. Wenn keiner von ihnen ein Symbol zurückgibt (ich überprüfe dies, indem ich mit dem Standard-Symbol übereinstimme, das sie zurückgeben), versuche ich zunächst, das Symbol selbst zu erhalten
c. Dies beinhaltet das Durchlaufen der Seiten, aber auch das Überprüfen von Weiterleitungen ohne automatische Weiterleitung sowie das Durchlaufen von 404, da auch bei 404 ein Symbol vorhanden sein kann. Am Ende bedeutet dies, dass Sie auch Weiterleitungen im HTML-Header sowie Javascript-Weiterleitungen analysieren müssen, um näher an 100% zu kommen
d. Danach mache ich einige Inspektionen an der physischen Image-Datei, weil manchmal auch auf einigen Servern (ich habe 300.000+ getestet) Dateien mit dem falschen MIME-Typ usw. zurückgegeben werden.
Der Code ist immer noch nicht perfekt, weil in den Details, in denen er verrückt wird, viele seltsame Situationen auftreten: Menschen haben falsch codierte Pfade (img / favicon.ico, wobei img NICHT im Stammverzeichnis ist), doppelte Header in der HTML-Ausgabe, unterschiedliche Serverantworten von einem Kopf und Körper etc ...
Der Kern des Abrufteils befindet sich hier: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php, damit Sie ihn zurückentwickeln können, sich jedoch bewusst sein sollten, dass die Antwort validiert werden sollte wirklich getan werden (Überprüfen des Bilddateityps, der Pantomime usw.)
quelle
Ich habe festgestellt, dass Sie mit 'SHGetFileInfo' (überprüfen Sie 'www.pinvoke.net' auf die Signatur) ein kleines oder großes Symbol abrufen können, als ob Sie es mit einer Datei / einem Ordner / einem Shell-Element zu tun hätten.
Jens;)
quelle
http://realfavicongenerator.net/favicon_checker?site=http://stackoverflow.com gibt Ihnen eine Favicon-Analyse, aus der hervorgeht, welche Favicons in welcher Größe vorhanden sind. Sie können die Seiteninformationen verarbeiten, um festzustellen, welches Favicon von bester Qualität ist, und den Dateinamen an die URL anhängen, um sie abzurufen.
quelle
Sie können Getfv.co verwenden :
Beispiel für diese Seite: http://g.etfv.co//programming/5119041/how-can-i-get-a-web-sites-favicon
Inhalte herunterladen und los geht's!
Bearbeiten:
Getfv.co und fvicon.com sehen tot aus. Wenn Sie möchten, habe ich eine nicht kostenlose Alternative gefunden: grabicon.com .
quelle
Verwenden von jquery
quelle
Im Jahr 2020 wird der Dienst von duckduckgo.com über die CLI genutzt
Beispiel
quelle