В моем приложении Django мне нужно получить имя хоста от реферера в request.META.get('HTTP_REFERER') вместе с его протоколом, чтобы из URL-адресов, таких как:
request.META.get('HTTP_REFERER')
Я должен получить:
Я просмотрел другие связанные вопросы и нашел относительно urlparse, но это не помогло, так как
>>> urlparse(request.META.get('HTTP_REFERER')).hostname 'docs.google.com'
Я знаю, что это старый вопрос, но я тоже столкнулся с ним сегодня. Решил это с помощью одной строки:
import re result = re.sub(r'(.*://)?([^/?]+).*', '\g<1>\g<2>', url)
Если он содержит менее 3 косых черт, значит, у вас есть, а если нет, то мы можем найти вхождение между ними:
import re link = http://forum.unisoftdev.com/something slash_count = len(re.findall("/", link)) print slash_count # output: 3 if slash_count > 2: regex = r'\:\/\/(.*?)\/' pattern = re.compile(regex) path = re.findall(pattern, url) print path