{ "info": { "author": "Scott Werner", "author_email": "scott.werner.vt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", "Topic :: Utilities" ], "description": "========\nfavicon\n========\n\n\n\n``favicon`` is a Python library to find a website's favicon.\n\nInstallation\n============\n\n.. code-block:: bash\n\n pip install favicon\n\nUsage\n=====\n\nGet all icons:\n\n.. code-block:: python\n\n >>> import favicon\n >>> icons = favicon.get('https://www.python.org/')\n Icon(url='https://www.python.org/static/apple-touch-icon-144x144-precomposed.png', width=144, height=144, format='png')\n Icon(url='https://www.python.org/static/apple-touch-icon-114x114-precomposed.png', width=114, height=114, format='png')\n Icon(url='https://www.python.org/static/apple-touch-icon-72x72-precomposed.png', width=72, height=72, format='png')\n Icon(url='https://www.python.org/static/apple-touch-icon-precomposed.png', width=0, height=0, format='png')\n Icon(url='https://www.python.org/static/favicon.ico', width=0, height=0, format='ico')\n\nDownload largest icon:\n\n.. code-block:: python\n\n import requests\n import favicon\n\n icons = favicon.get('https://www.python.org/')\n icon = icons[0]\n\n response = requests.get(icon.url, stream=True)\n with open('/tmp/python-favicon.{}'.format(icon.format), 'wb') as image:\n for chunk in response.iter_content(1024):\n image.write(chunk)\n\n # /tmp/python-favicon.png\n\n`Request library `_ parameters can be passed to `favicon.get()` as keyword\narguments:\n\n.. code-block:: python\n\n import favicon\n\n user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'\n headers = {'User-Agent': user_agent}\n favicon.get('https://www.python.org/', headers=headers, timeout=2)\n\nRequirements\n============\n\n* `requests `_\n* `beautifulsoup4 `_\n\nInspiration\n===========\n\n* `pyfav `_\n* `besticon `_\n* `How to get high resolution website logo (favicon) for a given URL `_\n\nChangelog\n=========\n\n0.7.0 (2019-08-31)\n------------------\n\n* Handle empty `href` and `content` attribute values (`#22 `_).\n* Support passing request library parameters to `favicon.get()` (`#21 `_).\n\n * Deprecate `headers` argument. Use keyword arguments: `favicon.get(url, headers={'User-Agent'; 'my-agent'}`.\n\n0.6.0 (2019-08-10)\n------------------\n\n* Upgrade ``beautifulsoup4`` and ``requests`` package dependencies.\n\n0.5.1 (2018-11-05)\n------------------\n\n* Fix 'NoneType' object has no attribute 'lower' for meta tags (`#16 `_).\n\n0.5.0 (2018-11-05)\n------------------\n\n* Add support for meta tags (`#15 `_).\n* Set bs4 parser to ``html.parser`` (`#13 `_).\n* Use ``src`` package structure (`#11 `_).\n\n0.4.1 (2018-10-01)\n------------------\n\n* Update ``requirements.txt`` and ``dev-requirements.txt``.\n\n0.4.0 (2018-07-19)\n------------------\n\n* Add support for Python 2.7 and PyPy.\n* Get icon size for New York Times (`#9 `_).\n\n0.3.0 (2018-05-18)\n------------------\n\n* Fav icon not found for microsoft.com (`#7 `_).\n\n0.2.0 (2018-05-17)\n------------------\n\n* Handle poor html values in links (`#5 `_).\n* Use given website for icon url scheme (`#6 `_).\n\n0.1.0 (2018-05-07)\n------------------\n\n* First release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scottwernervt/favicon", "keywords": "favicon icon", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "favicon", "package_url": "https://pypi.org/project/favicon/", "platform": "", "project_url": "https://pypi.org/project/favicon/", "project_urls": { "Homepage": "https://github.com/scottwernervt/favicon" }, "release_url": "https://pypi.org/project/favicon/0.7.0/", "requires_dist": [ "requests (>=2.21.0)", "beautifulsoup4 (>=4.7.0)" ], "requires_python": "", "summary": "Get a website's favicon.", "version": "0.7.0" }, "last_serial": 5764752, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "13a0b64dc04a5f3b399638beb1ed3e4a", "sha256": "4f7d48d85a027dd9f69cbe5013102deecc6161144af31361d9000dcd6dd8181d" }, "downloads": -1, "filename": "favicon-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "13a0b64dc04a5f3b399638beb1ed3e4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5810, "upload_time": "2018-05-07T14:25:12", "url": "https://files.pythonhosted.org/packages/7c/db/03d882043e1a325554e842d83f1577bb2e53b2ac9dea82256ee449b07f5e/favicon-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f11d68c535e1f5251cee26ffadff945b", "sha256": "8a1f276b32b83563136f94332f017d15b13c0d305e246a78ad5ec2d4909e9a39" }, "downloads": -1, "filename": "favicon-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f11d68c535e1f5251cee26ffadff945b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6142, "upload_time": "2018-05-17T19:18:57", "url": "https://files.pythonhosted.org/packages/8c/48/4db6e8e08664968fd287add6c7f161e5dfc47f618f05f12c58bfbfa682cd/favicon-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bccba6fc7496e31147cb542cf213f1e6", "sha256": "2369632e468a3833b4365dae0b8a1efe783c1530924c3c0c1f27afc3bb700ad7" }, "downloads": -1, "filename": "favicon-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bccba6fc7496e31147cb542cf213f1e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6585, "upload_time": "2018-05-17T19:18:59", "url": "https://files.pythonhosted.org/packages/74/77/7e26f53f0de0508eda37dda070a634ee2fd6600936749c6c2dd7a800c2fb/favicon-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "fd975ce4b1b60447f93e463721d43197", "sha256": "01602263e9431761bc355eebc1940f325977719980240536c9cdf412be60ea21" }, "downloads": -1, "filename": "favicon-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fd975ce4b1b60447f93e463721d43197", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6313, "upload_time": "2018-05-19T02:32:39", "url": "https://files.pythonhosted.org/packages/f4/d5/821e1d464cdff999d268a40a5650a0156c9870a4875e4ba9f60bf1b70de2/favicon-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06217ad9c07dad723485866ff881d4da", "sha256": "06104431a131b936eaa9c1a2e0c9a4d3b4c6cbf7678af9f360604dc1f00754fa" }, "downloads": -1, "filename": "favicon-0.3.0.tar.gz", "has_sig": false, "md5_digest": "06217ad9c07dad723485866ff881d4da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7119, "upload_time": "2018-05-19T02:32:40", "url": "https://files.pythonhosted.org/packages/1a/33/f4190f6604f191afb3ca59021b50b0187c36d307f3ce900643c8d3b7f364/favicon-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "527d59f2950f086a7c3b925385fa60f6", "sha256": "d4463013f167227e50cc3a918118ef26e2bf899909effd943f649b347e868385" }, "downloads": -1, "filename": "favicon-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "527d59f2950f086a7c3b925385fa60f6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6470, "upload_time": "2018-07-19T16:53:56", "url": "https://files.pythonhosted.org/packages/b2/70/df3bb9122bb1324f7d02f96e6287d1fcfc7ad9be0ed03c2ae311b9c928ae/favicon-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2256b93b7b7e8dda89ed8ff8b7a57379", "sha256": "e7aebf61cdb28f1f46fe00472332849ffdab72946fb536662405a594a9929db5" }, "downloads": -1, "filename": "favicon-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2256b93b7b7e8dda89ed8ff8b7a57379", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7208, "upload_time": "2018-07-19T16:53:57", "url": "https://files.pythonhosted.org/packages/c9/b8/4a9b0e0e8ecf6986bd4299bba0a2b67f3647bc755cd7798d825313495147/favicon-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "9eec60f3415b18b42e5291bd131a7e61", "sha256": "3b1c7b3d050efc811d9a03479f2867193ec52b212ac3d34045f1f0f9f8e20e7a" }, "downloads": -1, "filename": "favicon-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9eec60f3415b18b42e5291bd131a7e61", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6468, "upload_time": "2018-10-01T14:40:24", "url": "https://files.pythonhosted.org/packages/38/cb/07e52507fce7f54db7d7490c26770193310f9a2976d802007259fe9c74ca/favicon-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a5bb392c19a93863f4dc6eb58bddb93", "sha256": "ef9c3558a41f012f35ca001e514f95f2ddd5d0ed5f8cdd7ef8f84f59f6003512" }, "downloads": -1, "filename": "favicon-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6a5bb392c19a93863f4dc6eb58bddb93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7239, "upload_time": "2018-10-01T14:40:26", "url": "https://files.pythonhosted.org/packages/45/3e/4c88314b94292f0a95ab41792818d55e4183a81c6d7174eb8fe7ecafe1cd/favicon-0.4.1.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "a96b749253380f72e318881519f72801", "sha256": "a769ab2a6693f03aceac4de01b1774cbc5241e41902e6c26a6ec7e91ca3ae38a" }, "downloads": -1, "filename": "favicon-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a96b749253380f72e318881519f72801", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5564, "upload_time": "2018-11-05T16:10:14", "url": "https://files.pythonhosted.org/packages/f5/51/2e531055e96e918b24eee412e39d38d7007e300be072c25975013d4e65a8/favicon-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75db2793365957023f72cbeb652a8ea9", "sha256": "3e1913cab726bd23c02105dadab47f2e7ec39b45f12e6fbe106ee16c8d595006" }, "downloads": -1, "filename": "favicon-0.5.1.tar.gz", "has_sig": false, "md5_digest": "75db2793365957023f72cbeb652a8ea9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8654, "upload_time": "2018-11-05T16:10:15", "url": "https://files.pythonhosted.org/packages/70/a4/d8376725ced4b4ffb8abab1a95fe3419d3e3fd9f3ed5f2fa19d4c4b75bc9/favicon-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6f0aa00233ab2cb0402034b1e931e80f", "sha256": "e7aee738506cca740c4210bd724957b9225f3e27d742054a5b2859cc4eb8573c" }, "downloads": -1, "filename": "favicon-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f0aa00233ab2cb0402034b1e931e80f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5603, "upload_time": "2019-08-10T16:57:31", "url": "https://files.pythonhosted.org/packages/db/4a/e00275f3651dbbfaedba4190a02a7d8848d0b4acf4dde273157487b9af1e/favicon-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ec4a5e7142b47ae94a117e8ca9324d2", "sha256": "44515c03895be8b252f22643748a677b4dbec49dc4555922036297c066c364b3" }, "downloads": -1, "filename": "favicon-0.6.0.tar.gz", "has_sig": false, "md5_digest": "4ec4a5e7142b47ae94a117e8ca9324d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8710, "upload_time": "2019-08-10T16:57:32", "url": "https://files.pythonhosted.org/packages/5b/cc/1ea937a867e56f2b46f13a39649c4f7b3d7ec0942e51755abb3512ee54bf/favicon-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "7c2571884d68b52cb5a81bc87b7b4a8e", "sha256": "7fec0617c73dcb8521ea788e1d38cdc7226c7cb8e28c81e11625d85fa1534880" }, "downloads": -1, "filename": "favicon-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7c2571884d68b52cb5a81bc87b7b4a8e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5921, "upload_time": "2019-08-31T16:56:40", "url": "https://files.pythonhosted.org/packages/93/4c/8baf94bb789972634d933152d27529f2bad4e5d2397b8da9c30f6f5342ce/favicon-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f5928d0cda8b6dd79b0452942fe57f5", "sha256": "6d6b5a78de2a0d0084589f687f384b2ecd6a6527093fec564403b1a30605d7a8" }, "downloads": -1, "filename": "favicon-0.7.0.tar.gz", "has_sig": false, "md5_digest": "7f5928d0cda8b6dd79b0452942fe57f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9284, "upload_time": "2019-08-31T16:56:42", "url": "https://files.pythonhosted.org/packages/64/68/d2646f40c05d3a501cddd232119f8c087a6fcba3c79255a062c73e80b42a/favicon-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7c2571884d68b52cb5a81bc87b7b4a8e", "sha256": "7fec0617c73dcb8521ea788e1d38cdc7226c7cb8e28c81e11625d85fa1534880" }, "downloads": -1, "filename": "favicon-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7c2571884d68b52cb5a81bc87b7b4a8e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5921, "upload_time": "2019-08-31T16:56:40", "url": "https://files.pythonhosted.org/packages/93/4c/8baf94bb789972634d933152d27529f2bad4e5d2397b8da9c30f6f5342ce/favicon-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f5928d0cda8b6dd79b0452942fe57f5", "sha256": "6d6b5a78de2a0d0084589f687f384b2ecd6a6527093fec564403b1a30605d7a8" }, "downloads": -1, "filename": "favicon-0.7.0.tar.gz", "has_sig": false, "md5_digest": "7f5928d0cda8b6dd79b0452942fe57f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9284, "upload_time": "2019-08-31T16:56:42", "url": "https://files.pythonhosted.org/packages/64/68/d2646f40c05d3a501cddd232119f8c087a6fcba3c79255a062c73e80b42a/favicon-0.7.0.tar.gz" } ] }