Pertanyaan yang cukup sederhana: Saya telah membuat aplikasi kecil yang pada dasarnya hanya favorit yang ada di baki sistem saya sehingga saya dapat membuka situs / folder / file yang sering digunakan dari tempat yang sama. Mendapatkan ikon default dari sistem saya untuk jenis file yang diketahui tidak terlalu rumit, tetapi saya tidak tahu cara mendapatkan favicon dari situs web. (SO memiliki ikon tumpukan abu-abu-> oranye di bilah alamat misalnya)
Adakah yang tahu bagaimana saya bisa melakukan itu?
Jawaban:
Anda akan ingin menangani ini dengan beberapa cara:
Cari
favicon.ico
di root domainwww.domain.com/favicon.ico
Cari
<link>
tag denganrel="shortcut icon"
atribut<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico" />
Cari
<link>
tag denganrel="icon"
atribut<link rel="icon" href="https://stackoverflow.com/favicon.png" />
Dua yang terakhir biasanya akan menghasilkan gambar berkualitas lebih tinggi.
Hanya untuk menutupi semua basis, ada file ikon khusus perangkat yang mungkin menghasilkan gambar berkualitas lebih tinggi karena perangkat ini biasanya memiliki ikon yang lebih besar pada perangkat daripada yang dibutuhkan browser:
<link rel="apple-touch-icon" href="images/touch.png" />
<link rel="apple-touch-icon-precomposed" href="images/touch.png" />
Dan untuk mengunduh ikon tanpa peduli apa ikonnya, Anda dapat menggunakan utilitas seperti http://www.google.com/s2/favicons yang akan melakukan semua pekerjaan berat:
sumber
google.com/s2/favicons
itu adalah ikon dengan ukuran 16x16 itu adalah ikon yang mengerikan, tahukah Anda di mana harus mengambil ikon yang lebih besar?Diperbarui 2020
Berikut tiga layanan yang dapat Anda gunakan pada tahun 2020 dan seterusnya
sumber
Anda dapat menggunakan Google S2 Converter.
http://www.google.com/s2/favicons?domain=google.com
Sumber: http://www.labnol.org/internet/get-favicon-image-of-websites-with-google/4404/
sumber
Hal pertama yang harus dicari adalah /favicon.ico di root situs; sesuatu seperti WebClient.DownloadFile () seharusnya berfungsi dengan baik. Namun, Anda juga dapat mengatur ikon dalam metadata - untuk SO ini adalah:
dan perhatikan bahwa ikon alternatif mungkin tersedia; resolusi yang "menyentuh" cenderung lebih besar dan lebih tinggi, misalnya:
jadi Anda akan menguraikannya di HTML Agility Pack atau XmlDocument (if xhtml) dan menggunakan WebClient.DownloadFile ()
Berikut beberapa kode yang saya gunakan untuk mendapatkan ini melalui paket agility:
Perhatikan bahwa ikon itu milik mereka, bukan milik Anda.
sumber
Ini adalah praktik yang baik untuk meminimalkan jumlah permintaan yang dibutuhkan setiap halaman. Jadi jika Anda membutuhkan beberapa ikon, yandex dapat membuat sprite favicon dalam satu kueri. Berikut ini contohnya http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/
sumber
Anda bisa mendapatkan URL favicon dari HTML situs web.
Ini adalah tag favicon:
Anda harus menggunakan ekspresi reguler di sini. Jika tidak ada tag yang ditemukan, cari "favicon.ico" di direktori root situs. Jika tidak ditemukan, situs tersebut tidak memiliki favicon.
sumber
Anda dapat melakukannya tanpa pemrograman . Cukup buka situs web, klik kanan dan pilih "lihat sumber" untuk membuka kode HTML situs itu. Kemudian di editor teks, cari "favicon" - ini akan mengarahkan Anda ke sesuatu yang tampak seperti
mengambil string
href
dan menambahkannya ke URL dasar situs web (anggap saja demikian"http://WEBSITE/"
), sehingga terlihat seperti iniyang merupakan jalur mutlak menuju favicon. Jika Anda tidak menemukannya dengan cara ini, bisa juga di root dalam hal ini URL-nya
http://WEBSITE/favicon.ico
.Ambil URL yang Anda tentukan dan masukkan ke dalam kode berikut:
Simpan kode HTML ini secara lokal (misalnya di desktop Anda) sebagai
GetFavicon.html
dan kemudian klik dua kali di atasnya untuk membukanya. Ini hanya akan menampilkan tautan bernama Favicon . Klik kanan pada tautan ini dan pilih "Simpan target sebagai ..." untuk menyimpan Favicon di PC lokal Anda - dan selesai!sumber
sumber
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 ..)
sumber
Saya telah menemukan bahwa 'SHGetFileInfo' (Periksa 'www.pinvoke.net' untuk tanda tangannya) memungkinkan Anda mengambil ikon kecil atau besar, sama seperti jika Anda berurusan dengan file / folder / item Shell.
Jens;)
sumber
http://realfavicongenerator.net/favicon_checker?site=http://stackoverflow.com memberi Anda analisis favicon yang menyatakan favicon mana yang ada dalam ukuran berapa. Anda dapat memproses informasi halaman untuk melihat favicon dengan kualitas terbaik, dan menambahkan nama filenya ke URL untuk mendapatkannya.
sumber
Anda dapat menggunakan Getfv.co :
Contoh untuk halaman ini: http://g.etfv.co//programming/5119041/how-can-i-get-a-web-sites-favicon
Unduh konten dan ayo pergi!
Edit:
Getfv.co dan fvicon.com tampak mati. Jika Anda ingin, saya menemukan alternatif yang tidak gratis: grabicon.com .
sumber
Menggunakan jquery
sumber
Pada tahun 2020, menggunakan layanan duckduckgo.com dari CLI
Contoh
sumber