26 lines
582 B
Python

from urllib.parse import urlparse, parse_qs
from typing import Dict, Any
def parse_url(url: str) -> Dict[str, Any]:
"""
Parse a URL into its components.
"""
parsed = urlparse(url)
return {
"scheme": parsed.scheme,
"netloc": parsed.netloc,
"path": parsed.path,
"params": parsed.params,
"query": parse_qs(parsed.query),
"fragment": parsed.fragment,
}
def is_valid_url(url: str) -> bool:
"""
Check if a URL is valid.
"""
parsed = urlparse(url)
return bool(parsed.scheme and parsed.netloc)