python如何解析url

python如何解析url

作者:Joshua Lee发布时间:2026-01-05阅读时长:0 分钟阅读次数:16

用户关注问题

Q
如何使用Python提取URL中的域名?

我想用Python代码从一个完整的网址中提取出域名部分,应该使用什么方法?

A

使用urllib解析URL获取域名

可以借助Python内置的urllib.parse模块,使用urlparse函数解析URL,然后访问返回结果的netloc属性即可得到域名。例如:

from urllib.parse import urlparse
url = 'https://www.example.com/path?query=1'
parsed_url = urlparse(url)
domain = parsed_url.netloc
print(domain)  # 输出:www.example.com
Q
怎样在Python中获取URL的查询参数?

Python有没有简单的方法从URL中提取查询字符串中的参数及其对应的值?

A

通过urllib.parse获取URL查询参数

可以使用urllib.parse模块中的parse_qs函数,它能将查询字符串解析成字典。流程是先用urlparse解析URL获得query部分,再用parse_qs转换。例如:

from urllib.parse import urlparse, parse_qs
url = 'https://example.com/page?name=alice&age=30'
query_string = urlparse(url).query
params = parse_qs(query_string)
print(params)  # 输出:{'name': ['alice'], 'age': ['30']}
Q
Python如何解析并修改URL中的路径?

如果我想用Python解析一个URL并替换它的路径部分,有什么推荐的做法?

A

使用urllib.parse模块重构URL路径

可以使用urlparse解析URL后,将其转换成可修改的ParseResult对象,修改路径字段,再用urlunparse构建新的URL。例如:

from urllib.parse import urlparse, urlunparse
url = 'https://example.com/old/path?query=1'
parsed = urlparse(url)
new_path = '/new/path'
modified = parsed._replace(path=new_path)
new_url = urlunparse(modified)
print(new_url)  # 输出:https://example.com/new/path?query=1