1. ホーム
  2. python

[解決済み] Pythonでurlを検証する方法は?(奇形かそうでないか)

2022-04-22 01:21:25

質問

私は url を取得し、取得したHTMLで返信する必要があります。

URLが不正であるかどうかは、どのように確認すればよいのでしょうか?

例えば、以下のような場合です。

url = 'google' # Malformed
url = 'google.com' # Malformed
url = 'http://google.com' # Valid
url = 'http://google' # Malformed

解決方法は?

django url validation regex ( ソース ):

import re
regex = re.compile(
        r'^(?:http|ftp)s?://' # http:// or https://
        r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' #domain...
        r'localhost|' #localhost...
        r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip
        r'(?::\d+)?' # optional port
        r'(?:/?|[/?]\S+)$', re.IGNORECASE)

print(re.match(regex, "http://www.example.com") is not None) # True
print(re.match(regex, "example.com") is not None)            # False