Достаточно простой вопрос: я создал небольшое приложение, которое в основном представляет собой избранное, которое находится в моем системном трее, чтобы я мог открывать часто используемые сайты / папки / файлы из одного и того же места. Получить значки по умолчанию из моей системы для известных типов файлов не так уж сложно, но я не знаю, как получить значок с веб-сайта. (Например, у SO есть серый-> оранжевый значок стека в адресной строке)
Кто-нибудь знает, как я могу это сделать?
Ответы:
Вы можете решить эту проблему несколькими способами:
Найдите
favicon.ico
в корне доменаwww.domain.com/favicon.ico
Ищите
<link>
тег сrel="shortcut icon"
атрибутом<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico" />
Ищите
<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, которая сделает всю тяжелую работу:
источник
google.com/s2/favicons
это иконка с 16x16 ужасная иконка вы знаете где взять иконку побольше?Обновлено 2020
Вот три услуги, которыми вы можете пользоваться в 2020 году.
источник
Вы можете использовать Google S2 Converter.
http://www.google.com/s2/favicons?domain=google.com
Источник: http://www.labnol.org/internet/get-favicon-image-of-websites-with-google/4404/
источник
Первое, что нужно найти, это /favicon.ico в корне сайта; что-то вроде WebClient.DownloadFile () должно работать нормально. Однако вы также можете установить значок в метаданных - для SO это:
и обратите внимание, что могут быть доступны альтернативные значки; «сенсорный» имеет тенденцию к большему и более высокому разрешению, например:
поэтому вы должны проанализировать это либо в HTML Agility Pack, либо в XmlDocument (если xhtml) и использовать WebClient.DownloadFile ()
Вот код, который я использовал для получения этого с помощью пакета agility:
Обратите внимание, что значок принадлежит им, а не вам.
источник
Рекомендуется минимизировать количество запросов, необходимых для каждой страницы. Так что, если вам нужно несколько иконок, яндекс может сделать спрайт фавиконов за один запрос. Вот пример http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/
источник
Вы можете получить URL-адрес фавикона из HTML-кода веб-сайта.
Вот тег значка:
Здесь вам следует использовать регулярное выражение. Если тег не найден, найдите «favicon.ico» в корневом каталоге сайта. Если ничего не найдено, значит на сайте нет значка.
источник
Вы можете сделать это без программирования . Просто откройте веб-сайт, щелкните правой кнопкой мыши и выберите «просмотреть источник», чтобы открыть HTML-код этого сайта. Затем в текстовом редакторе найдите «favicon» - он направит вас к чему-то похожему на
возьмите строку
href
и добавьте ее к базовому URL-адресу веб-сайта (предположим, что это так"http://WEBSITE/"
), чтобы это выглядело каккоторый является абсолютным путем к значку. Если вы не нашли его таким образом, он также может быть в корне, и в этом случае URL-адрес
http://WEBSITE/favicon.ico
.Возьмите указанный вами URL и вставьте его в следующий код:
Сохраните этот HTML-код локально (например, на рабочем столе) как,
GetFavicon.html
а затем дважды щелкните его, чтобы открыть. Будет отображаться только ссылка с именем Favicon . Щелкните правой кнопкой мыши по этой ссылке и выберите «Сохранить цель как ...», чтобы сохранить значок Favicon на локальном ПК - и все готово!источник
источник
Это запоздалый ответ, но для полноты: довольно сложно даже приблизиться к 90% извлечения всех значков.
Некоторое время назад я написал плагин WordPress: http://wordpress.org/extend/plugins/wp-favicons/, который пытается приблизиться.
а. он начинается с просмотра репозиториев favicon, таких как google favicons, getfavicons и т. д.
б. если ни один из них не возвращает значок (я проверяю это путем сопоставления со значком по умолчанию, который они возвращают), я начинаю с попытки получить значок самостоятельно
c. это включает в себя обход страниц, но также проверку переадресации без автопереадресации, а также обход 404, потому что также на 404 может присутствовать значок. В конце концов, это означает, что вам нужно будет также проанализировать перенаправления в заголовке html, а также перенаправления javascript, чтобы приблизиться к 100%.
d. после этого я провожу некоторые проверки физического файла изображения, потому что иногда на некоторых серверах (я тестировал более 300 000) файлы возвращаются с неправильным типом mime и т. д.
Код все еще не идеален, потому что в деталях он становится сумасшедшим, вы найдете много странных ситуаций: люди неправильно закодировали пути (img / favicon.ico, где img НЕ находится в корне), повторяющиеся заголовки в выводе html, разные ответы сервера из головы и тела и т.д ...
ядро части выборки находится здесь: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php, чтобы вы могли его реконструировать, но имейте в виду, что проверка ответа должна действительно быть готовым (проверка типа файла изображения, пантомимы и т. д.)
источник
Я обнаружил, что «SHGetFileInfo» (проверьте подпись «www.pinvoke.net») позволяет получить маленький или большой значок, как если бы вы имели дело с файлом / папкой / элементом оболочки.
Йенс;)
источник
http://realfavicongenerator.net/favicon_checker?site=http://stackoverflow.com дает вам анализ значков, указывающий, какие значки присутствуют и какого размера. Вы можете обработать информацию о странице, чтобы увидеть, какой из них является лучшим по качеству, и добавить его имя файла к URL-адресу, чтобы получить его.
источник
Вы можете использовать Getfv.co :
Пример для этой страницы: http://g.etfv.co//programming/5119041/how-can-i-get-a-web-sites-favicon
Загрузите контент и поехали!
Редактировать :
Getfv.co и fvicon.com выглядят мертвыми. Если хотите, я нашел платную альтернативу: grabicon.com .
источник
Использование jquery
источник
В 2020 году с помощью сервиса duckduckgo.com из интерфейса командной строки
пример
источник