python3 URL拼接代码

5 篇文章 0 订阅
3 篇文章 0 订阅

感谢网友的分享,先自己保存起来;因为网上的是基于 python2.x版本的,所以自己修改了一下能在3.x用了。

将不完整的url拼接成为完整的url;

比如在网页中经常遇到相对路径的 

url1 = http://www.bachejian.com

ur2 = /abc/efc/123.html

需要将他们拼接成为http://www.bachejian.com/abc/efc/123.html 就用以下代码:

from urllib.parse import urljoin
from urllib.parse import urlparse
from urllib.parse import urlunparse
from posixpath import normpath

 
def 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))
 
# if __name__ == "__main__":
#     print(myjoin("http://www.baidu.com", "abc.html"))
#     print(myjoin("http://www.baidu.com", "/../../abc.html"))
#     print(myjoin("http://www.baidu.com/xxx", "./../../abc.html"))
#     print(myjoin("http://www.baidu.com", "abc.html?key=value&m=x"))

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值