Esta é uma resposta tardia, mas para completar: é muito difícil chegar perto de 90% da obtenção de todos os favicons.
Há algum tempo, escrevi um plugin para WordPress: http://wordpress.org/extend/plugins/wp-favicons/ que tenta se aproximar.
uma. começa olhando para repositórios de favicon, como favicons do google, getfavicons etc ...
b. se nenhum deles retornar um ícone (eu verifico isso combinando com o ícone padrão que eles retornam), eu começo tentando obter o ícone sozinho
c. isso envolve percorrer as páginas, mas também verificar redirecionamentos SEM autoredirecionamento, bem como percorrer 404 porque também no 404 pode haver um ícone. No final, isso significa que você terá que analisar também os redirecionamentos no cabeçalho html, bem como os redirecionamentos javascript para ficar mais perto de ser 100%
d. depois disso, faço algumas inspeções no arquivo de imagem física, porque também às vezes em alguns servidores (testei mais de 300.000) os arquivos são retornados com o tipo MIME incorreto etc.
O código ainda não é perfeito porque nos detalhes fica louco, você encontrará muitas situações estranhas: pessoas têm caminhos codificados incorretamente (img / favicon.ico onde img NÃO está na raiz), cabeçalhos duplicados na saída html, respostas de servidor diferentes de uma cabeça e corpo etc ...
o núcleo da parte de busca está aqui: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php para que você possa fazer a engenharia reversa, mas esteja ciente de que a validação da resposta deve realmente feito (verificando o tipo de arquivo da imagem, mímica etc.)