Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Validate URL bằng regex trong Python

Không có method validate chuẩn vì gần như bất cứ gì cũng là valid URL. Có quy tắc punctuation để parse. Không có punctuation vẫn valid.

Tùy tình huống dùng cách khác nhau:

  • Tin tưởng data, chỉ check protocol HTTP → urlparse đủ.
  • Muốn ensure true URL → regex phức tạp.
  • Muốn check real web address → thử kết nối.

Ví dụ: Thử kết nối thực tế

import urllib.request

try:
    urllib.request.urlopen(url)
except IOError:
    print("Not a real URL")

Ví dụ: urllib.parse parse URL

from urllib.parse import urlparse

result = urlparse(url)
if result.scheme and result.netloc:
    print("Valid URL structure")
else:
    print("Invalid URL")

Khuyến nghị: Không nên dùng regex phức tạp validate URL. Dùng urllib.parse hoặc thử request thực tế.