
python3 URL拼接代码
基本的URL合并 处理相对路径(如../或./) 多层相对路径处理 保留查询参数
发布日期:2021-05-14 14:11:01
浏览次数:18
分类:精选文章
本文共 1031 字,大约阅读时间需要 3 分钟。
from urllib.parse import urljoinfrom urllib.parse import urlparsefrom urllib.parse import urlunparsefrom posixpath import normpathdef myjoin(base, url): url1 = urljoin(base, url) arr = urlparse(url1) path = normpath(arr[2]) return urlunparse((arr.scheme, arr.netloc, path, arr.params, arr.query, arr.fragment))# 示例1:基本使用print(myjoin("http://www.baidu.com", "abc.html")) # 输出: http://www.baidu.com/abc.html# 示例2:相对路径处理print(myjoin("http://www.baidu.com", "/../../abc.html")) # 输出: http://www.baidu.com/abc.html# 示例3:多层相对路径处理print(myjoin("http://www.baidu.com/xxx/yy/zz/xyz", "./../../abc.html")) # 输出: http://www.baidu.com/abc.html# 示例4:查询参数保留print(myjoin("http://www.baidu.com", "abc.html?key=value&m=x")) # 输出: http://www.baidu.com/abc.html?key=value&m=x
这段代码定义了一个自定义的URL合并函数myjoin
,用于将一个相对URL与一个基准URL合并。函数内部使用urljoin
获取最终URL,通过urlparse
解析URL,提取路径部分并进行规范化处理,最后用urlunparse
重新组合生成最终的绝对URL。
通过多个示例展示了函数的实际应用场景:
该函数适用于需要在程序中构建完整的URL时,能够自动处理不同类型的相对路径,并确保URL的规范性和一致性。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月09日 23时42分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
集合继承结构
2019-03-11
LinkedList 实现类
2019-03-11
Vector 实现类
2019-03-11
HashMap类、HashSet
2019-03-11
HashTable类
2019-03-11
TreeSet、TreeMap
2019-03-11
ObjectInputStream、ObjectOutputStream
2019-03-11
JVM内存模型
2019-03-11
反射机制
2019-03-11
反射Field、Method、Constructor
2019-03-11
可变长度参数
2019-03-11
堆空间常用参数总结
2019-03-11
逃逸分析-堆分配对象
2019-03-11
常量池、运行时常量池
2019-03-11
3、条件查询
2019-03-11
5、分组函数 / 聚合函数
2019-03-11
8、子查询
2019-03-11
cordova打包apk更改图标
2019-03-11
开启与配置SMTP服务器
2019-03-11
APP卡片式设计
2019-03-11