Cómo extraer el nombre de dominio de nivel superior (TLD) de la URL

¿Cómo extraería el nombre de dominio de una URL, excluyendo cualquier subdominio?

Mi primer intento simplista fue:

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

Esto funciona parahttp://www.foo.com, pero nohttp://www.foo.com.au. ¿Hay alguna manera de hacer esto correctamente sin usar conocimientos especiales sobre TLD válidos (Dominios de nivel superior) o códigos de país (porque cambian)?

Gracias

Respuestas a la pregunta(7)

Su respuesta a la pregunta