Для определенной цели я вчера сделал эту быструю функцию Python. Возвращает домен по URL. Это быстро и не требует каких-либо входных файлов со списком. Тем не менее, я не претендую на то, что он работает во всех случаях, но он действительно выполняет ту работу, которая мне была нужна для простого сценария интеллектуального анализа текста.
Вывод выглядит так:
http://www.google.co.uk => google.co.uk
http://24.media.tumblr.com/tumblr_m04s34rqh567ij78k_250.gif => tumblr.com
def getDomain(url):
parts = re.split("\/", url)
match = re.match("([\w\-]+\.)*([\w\-]+\.\w{2,6}$)", parts[2])
if match != None:
if re.search("\.uk", parts[2]):
match = re.match("([\w\-]+\.)*([\w\-]+\.[\w\-]+\.\w{2,6}$)", parts[2])
return match.group(2)
else: return ''
Кажется, работает довольно хорошо.
Однако его нужно изменить, чтобы удалить расширения домена на выходе, как вы пожелаете.