Я работаю над проектом НЛП и хочу заменить все URL-адреса в тексте на их доменное имя, чтобы упростить мою корпорацию.
Примером этого может быть:
Input: Ask questions here https://stackoverflow.com/questions/ask
Output: Ask questions here stackoverflow.com
В данный момент я нахожу URL-адреса со следующим RE:
urls = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', text)
И затем я перебираю ихчтобы получить доменное имя:
doms = [re.findall(r'^(?:https?:)?(?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)',url) for url in urls]
А затем я просто заменяю каждый URL-адрес его домом.
Это не оптимальный подход, и мне интересно, есть ли у кого-то лучшее решение для этогопроблема!