-
导入必要的模块:
import urllib.parse as urlparse
-
调用 parse_url 函数:
url = 'http://example.com/page.html' parsed_url = urlparse.parse_url(url)
-
查看解析结果:
print(parsed_url) # 输出:{'netloc': 'http://example.com', 'path': 'page.html', 'domain': 'example.com'} -
解析指定字段:
print(parsed_url.netloc) # 输出:http://example.com print(parsed_url.path) # 输出:page.html
-
处理其他参数:
- scheme:解析协议
scheme = parsed_url.scheme print(scheme) # 输出: http
- query:解析查询参数
query = parsed_url.query print(query) # 输出: ?
- scheme:解析协议
-
处理超链接:
url = 'http://example.com/next#next' parsed_url = urlparse.parse_url(url) print(parsed_url.netloc) # 输出: http://example.com print(parsed_url.path) # 输出: next
-
限制输出范围:
parsed_url = urlparse.parse_url(url, maxsplit=2) print(parsed_url) # 输出: {'netloc': 'http://example.com', 'path': 'next#next'} -
处理编码和编码转换:
url = 'http://example.com/a%2b.html' parsed_url = urlparse.parse_url(url, encoding='utf-8') print(parsed_url) # 输出: {'netloc': 'http://example.com', 'path': 'a%2b.html'} -
处理特殊字符:
url = 'http://example.com?param=1&more=info' parsed_url = urlparse.parse_url(url) print(parsed_url) # 输出: {'netloc': 'http://example.com', 'path': '?param=1&more=info'} -
处理多态和参数化调用:
parsed_url = urlparse.parse_url(url, encoding='utf-8', maxsplit=2) print(parsed_url) # 输出: {'netloc': 'http://example.com', 'path': 'page.html'}
通过以上步骤,可以正确解析并提取URL中的信息,适用于各种情况。



