Ini adalah jawaban yang terlambat, tetapi untuk kelengkapan: cukup sulit untuk mendekati 90% dari mengambil semua favicon.
Beberapa waktu lalu saya menulis plugin WordPress: http://wordpress.org/extend/plugins/wp-favicons/ yang mencoba mendekat.
Sebuah. itu dimulai dengan melihat repositori favicon seperti google favicons, getfavicons dll ...
b. jika tidak ada dari mereka yang mengembalikan ikon (saya memeriksa ini dengan mencocokkan dengan ikon default yang mereka kembalikan) saya mulai dengan mencoba mendapatkan ikon itu sendiri
c. ini melibatkan melintasi halaman tetapi juga memeriksa pengalihan dengan NO autoredirect serta melintasi 404 karena juga pada 404 ikon mungkin ada. Pada akhirnya, itu berarti Anda harus mengurai juga pengalihan di header html serta pengalihan javascript agar mendekati 100%
d. setelah itu saya melakukan beberapa pemeriksaan pada file gambar fisik, karena kadang-kadang juga pada beberapa server (saya menguji 300.000+) file dikembalikan dengan jenis mime yang salah dll.
Kode masih belum sempurna karena dalam detailnya menjadi gila, Anda akan menemukan banyak situasi aneh: orang memiliki jalur kode yang salah (img / favicon.ico di mana img TIDAK di root), duplikat header dalam output html, respons server berbeda dari kepala dan tubuh dll ...
inti dari bagian pengambilan ada di sini: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php sehingga Anda dapat merekayasa baliknya tetapi perlu diketahui bahwa memvalidasi respons harus benar-benar selesai (memeriksa jenis file gambar, pantomim dll ..)