第十二章:互联网-urllib.parse:分解URL-反解析

12.1.2 反解析
还可以利用一些方法把分解的URL的各个部分重新组装在一起,形成一个串。解析的URL对象有一个geturl()方法。

from urllib.parse import urlparse

original = 'http://netloc/path;param?query=arg#frag'
print('ORIG  :',original)
parsed = urlparse(original)
print('PARSED:',parsed.geturl())

geturl()只适用于urlparse()或urlsplit()返回的对象。
运行结果:
在这里插入图片描述
利用urlunparse()可以将包含串的普通元组重新组合为一个URL。

from urllib.parse import urlparse,urlunparse

original = 'http://netloc/path;param?query=arg#frag'
print('ORIG  :',original)
parsed = urlparse(original)
print('PARSED:',type(parsed),parsed)
t = parsed[:]
print('TUPLE :',type(t),t)
print('NEW   :',urlunparse(t))

尽管urlparse()返回的ParseResult可以作为一个元组,但这个例子却显式地创建了一个元组,来展示urlunparse()也适用于普通元组。
运行结果:
在这里插入图片描述
如果输入URL包含多余的部分,那么重新构造的URL可能会将其去除。

from urllib.parse import urlparse,urlunparse

original = 'http://netloc/path;?#'
print('ORIG  :',original)
parsed = urlparse(original)
print('PARSED:',type(parsed),parsed)
t = parsed[:]
print('TUPLE :',type(t),t)
print('NEW   :',urlunparse(t))

在这里,原URL中没有参数、查询和片段。新URL看起来与原URL并不相同,不过按照标准它们是等价的。
运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值