To późna odpowiedź, ale dla kompletności: dość trudno jest nawet zbliżyć się do 90% pobrania wszystkich faviconów.
Jakiś czas temu napisałem wtyczkę do WordPressa: http://wordpress.org/extend/plugins/wp-favicons/, która próbuje się zbliżyć.
za. zaczyna się od przejrzenia repozytoriów favicon, takich jak favicony google, getfavicons itp.
b. jeśli żaden z nich nie zwraca ikony (sprawdzam to, dopasowując do domyślnej ikony, którą zwracają), zaczynam od próby samodzielnego uzyskania ikony
do. Obejmuje to przechodzenie przez strony, ale także sprawdzanie przekierowań bez automatycznego przekierowania, a także przechodzenie z błędami 404, ponieważ również na błędach 404 może być obecna ikona. W końcu oznacza to, że będziesz musiał przeanalizować również przekierowania w nagłówku html, a także przekierowania javascript, aby zbliżyć się do 100%
re. potem przeprowadzam inspekcje fizycznego pliku obrazu, ponieważ czasami na niektórych serwerach (testowałem ponad 300 000) pliki są zwracane z nieprawidłowym typem MIME itp.
Kod nadal nie jest doskonały, ponieważ w szczegółach robi się szalony, znajdziesz wiele dziwnych sytuacji: ludzie mają źle zakodowane ścieżki (img / favicon.ico, gdzie img NIE jest w katalogu głównym), zduplikowane nagłówki w wyjściu html, różne odpowiedzi serwera z głowy i ciała itp ...
rdzeń części pobierającej znajduje się tutaj: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php, więc możesz ją odtworzyć, ale pamiętaj, że weryfikacja odpowiedzi powinna naprawdę gotowe (sprawdzanie typu pliku obrazu, mime itp.)