This module provides a Python interface to the Public Suffix List.
The Public Suffix List (PSL) is a set of rules describing "effective top-level domains" and can be used to determine the registered domain for a given host name.
The public_suffix_list
function, called without arguments, will download
the PSL and return an instance of the SuffixList
class containing the
current rules.
Find the registered domain:
>>> psl = publicsuffix.public_suffix_list() >>> psl.domain('www.python.org') u'python.org'
Find the (E)TLD:
>>> psl.tld('www.bbc.co.uk') u'co.uk' >>> psl.tld('parliament.uk') u'uk'
By default, public_suffix_list
downloads the PSL each time it is called.
To avoid being wasteful, the function accepts optional http
and
headers
arguments. The object provided as http
must support the
httplib2 interface and will be called to download the PSL.
For example, to cache the PSL for one day:
>>> psl = publicsuffix.public_suffix_list( ... http=httplib2.Http('/path/to/cache'), ... headers={'cache-control': 'max-age=%d' % (60*60*24)} ... )