Como extrair o nome de domínio de nível superior (TLD) da URL

Como você extrairia o nome de domínio de um URL, excluindo quaisquer subdomínios?

Minha tentativa simplista inicial foi:

'.'.join(urlparse.urlparse(url).netloc.split('.')[-2:])

Isso funciona parahttp://www.foo.com, mas nãohttp://www.foo.com.au. Existe uma maneira de fazer isso corretamente sem usar conhecimento especial sobre TLDs válidos (Domínios de Nível Superior) ou códigos de país (porque eles mudam).

obrigado

questionAnswers(7)

yourAnswerToTheQuestion