Извлечение favicon сайта
Когда есть список ссылок, то для визуального украшательства можно использовать фавиконы, рисуя их слева от ссылок. Так, например, делает яндекс в результатах поиска. Я тоже решил побаловаться с иконками на странице http://pydev.ru/links/ Для чего была срочно написана библиотека favicon. Забрать можно с битбакета по адресу http://bitbucket.org/lorien/favicon
Использовать очень просто:
from favicon import get_favicon_from_url
print get_favicon_from_url('http://google.com')
Что делает функция get_favicon_from_url? Она скачивает страницу по указанном урлу и рыщет в егоном HTML коде. Если удаётся найти нужный link тэг, то возвращается его href аттрибут, если нет, функция не сдаётся и пытается закачать картинку со стандартного адреса http://<hostname>/favicon.ico, если файл найден (200 http code) и его mimetype начинается с “image/”, то функция возвращает стандартный адрес картинки. Если ничего найти не удалось, возвращается None






Comments
Очень приятная тулза. Только не громоздко это, каждый раз для страницы линков кучу страниц качать на сервер?
Вовсе и не каждый :-)
Проще вот так вытаскивать, тем более сразу же png :) http://favicon.yandex.net/favicon/mail.google.com
Прикольный способ :)
Вот что ещё нашёл: http://www.google.com/s2/favicons?domain=ya.ru