以下是一个可用于自动解析 URL 的 Python 方法:
import re
def parse_url(url):
pattern = r"(?P<protocol>(http|https|ftp)):\/\/(?P<domain>[\w\.-]+)\.(?P<tld>[\w\.]{2,6})\/?(?P<path>[\w\.-\/]*)\/?(?P<params>[\w=&\+]+)?"
result = re.match(pattern, url)
if result:
return {
"protocol": result.group("protocol"),
"domain": result.group("domain"),
"tld": result.group("tld"),
"path": result.group("path"),
"params": result.group("params")
}
else:
return None
该方法使用正则表达式从 URL 中提取协议、域名、顶级域名、路径和参数,然后返回一个包含这些值的字典。 如果 URL 不适用于模式,则返回 None
。 例如,以下是如何使用该方法:
url = "http://www.example.com/some/path?key1=value1&key2=value2"
parsed_url = parse_url(url)
print(parsed_url) # {'protocol': 'http', 'domain': 'www', 'tld': 'example.com', 'path': 'some/path', 'params': 'key1=value1&key2=value2'}