链接的解析、拼合和生成

本文详细介绍了URL的组成部分,包括scheme、netloc、path、params、query和fragment。讲解了urllib.parse模块中的urlparse、urlsplit、urlunparse、urlunsplit和urljoin等函数的使用,以及如何处理GET请求参数。此外,还提到了URL编码与解码的函数quote和unquote。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解析链接

基础知识:
://前面的就是scheme,代表协议
第一个/符号前面便是netloc,域名
后面是path,访问路径
分号;后面是params,代表参数
问号?后面是查询条件query,一般用作GET类型的URL
井号#后面是锚点,用于直接定位页面内部的下拉位置
一个标准的链接格式:scheme://netloc/path;params?query#fragment

urlparse()
该方法可以实现URL的识别和分段

from urllib.parse import urlparse

result=urlparse("http://www.baidu.com/index.html;user?id=5#comment")  #解析链接
print(type(result),result,sep="\n")

返回结果是一个ParseResult类型的对象,它包含六个部分scheme、netloc、path、params、query、fragment
它的API用法是urllib.parse.urlparse(urlstring,scheme="",allow_fragments=True)
urlstring待解析的URL
scheme协议信息
allow_fragments即是否忽略fragment,如果为false,fragment部分就会被忽略,它会被解析为path、parameters或者query的一部分,而fragment为空

urlsplit()
不再单独解析params的一部分,只返回5个结果,params会被合并到path中

from urllib.parse import urlsplit

result=urlsplit("http://www.baidu.com/index.html;user?id=5#comment")  #解析链接
print(type(result),r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值