Чтобы определить, является ли строка в Python URL-адресом, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
-
Регулярное выражение.
Вы можете использовать регулярные выражения для сопоставления шаблонов URL-адресов. Модульre
в Python обеспечивает функцию сопоставления с образцом. Вот пример:import re def is_url(string): url_pattern = re.compile(r"https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+") return bool(re.match(url_pattern, string))
Эта функция использует шаблон регулярного выражения для сопоставления URL-адресов, начинающихся с «http://» или «https://».
-
Модуль urlparse:
Другой метод — использовать модульurlparse
из библиотекиurllib.parse
. Вы можете проверить, имеет ли данная строка действительную схему URL. Вот пример:from urllib.parse import urlparse def is_url(string): parsed_url = urlparse(string) return parsed_url.scheme in ["http", "https"]
Эта функция анализирует URL-адрес с помощью
urlparse
и проверяет, является ли схема «http» или «https». -
Попробуйте-кроме urllib:
Вы также можете попробовать открыть URL-адрес с помощью модуляurllib.request
. Если возникает исключение, это означает, что строка не является допустимым URL-адресом. Вот пример:import urllib.request def is_url(string): try: urllib.request.urlopen(string) return True except: return False
Эта функция пытается открыть указанный URL-адрес с помощью
urllib.request.urlopen()
. Если возникает исключение, это означает, что строка не является допустимым URL-адресом.