pyfavicon
Async favicon fetcher
Requirements
Python 3.7aiohttpbeautifulsoup4Pillow
How to use
from pyfavicon import Favicon import asyncio from pathlib import Path async def download_favicon(): favicon_manager = Favicon(download_dir=Path('.'), headers={'DNT': '1'}) icons = await favicon_manager.from_url('https://gitlab.com') # icons = await favicon_manager.from_file('my_html_file.html') # icons = await avicon_manager.from_html('<link rel="icon" href="favicon.png">') for icon in icons: # We use PIL to get the exact size of images. print("Favicon from : {}".format(icon.link)) print("Favicon export name : {}".format(icon.path)) print("Favicon size : {}".format(icon.size)) print("Favicon format: {}".format(icon.extension)) # Select the largest icon largest_icon = icons.get_largest() await largest_icon.save() asyncio.run(download_favicon())
Examples
You can find a bunch of usage examples here: