Extracts the top level domain (TLD) from the URL given. List of TLD names is taken from Mozilla.
Optionally raises exceptions on non-existing TLDs or silently fails (if fail_silently argument is set to True). Knows about active and inactive TLDs. If only active TLDs shall be matched against, active_only argument shall be set to True (default - False).
Latest stable version on PyPI:
$ pip install tld
Latest development version:
$ pip install -e hg+http://bitbucket.org/barseghyanartur/tld#egg=tld
To get the top level domain name from the URL given:
from tld import get_tld
print get_tld("http://www.google.co.uk")
# 'google.co.uk'
print get_tld("http://www.google.idontexist", fail_silently=True)
# None
If you wish, you could get the result as an object:
from tld import get_tld
res = get_tld("http://some.subdomain.google.co.uk", as_object=True)
print res
# 'google.co.uk'
print res.subdomain
# 'some.subdomain'
print res.domain
# 'google'
print res.suffix
# 'co.uk'
print res.tld
# 'google.co.uk'
To update/sync the tld names with the most recent version run the following from your terminal:
$ update-tld-names
or simply do:
from tld.utils import update_tld_names
update_tld_names()
If somehow domain names listed here are not recognised, make sure you have the most recent version of TLD names in your virtual environment:
$ update-tld-names
MPL 1.1/GPL 2.0/LGPL 2.1
For any issues contact me at the e-mail given in the Author section.
Artur Barseghyan <[email protected]>