Как проверить, является ли текст ссылкой?

Алгоритм работает так:

  1. Пользователь пишет в чат ссылку
  2. Бот проверяет, если это ссылка, то сохраняет её.

На самом деле мне нужно подгружать материал из instagram по этой ссылке. Я так думаю, дальше это делается через webhook или wget, буду благодарен, если примерную реализацию кто-нибудь сможет показать.


Ответы (1 шт):

Автор решения: Kers

Проще всего мне кажется регулярками:

import re
mydata = "Какойто текст https://yandex.ru/ и еще текст https://ya.ru/"
l = re.search("(?P<url>https?://[^\s]+)", mydata).group()
print(l) # https://yandex.ru/

Или вернуть список всех url если их несколько:

import re
mydata = "Какойто текст https://yandex.ru/ и еще текст https://ya.ru/"
l = re.findall("(?P<url>https?://[^\s]+)", mydata)
print(l) # ['https://yandex.ru/', 'https://ya.ru/']
→ Ссылка