Python基本库使用(二)
解析链接
urlparse()
urllib内置了parse,parse里面又有urlparse解析url,如下:
from urllib.parse import urlparse
result = urlparse('http://pro.kaikeba.com/course/java/?ss=topj')
print(type(result), result)
# scheme 协议 netloc 域名 path路径 params参数(分号后面的参数) query查询条件 fragment锚点后面的东西
urlparse还有其他的参数urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True)
,假如urlstring有带协议头则取url的,没有则取我们的第二个参数;
result还是一个元组,可以通过索引来获取urlparse解析出来的参数;
allow_fragments:即是否忽略fragment。如果它被设置为 False,Fragment部分就会被忽略, 它会被解析为 path、parameters 或者query的一部分,而 fragment 部分为空。
urlunparse()
对立于楼上的方法,需要传六个参数
from urllib.parse import urlunparse
data =['http','www.baidu.com','index.html','user','a=6','comment']
print(urlunparse(data))
# http://www.baidu.com/index.html;user?a=6#comment
urlsplit()
from urllib.parse import urlsplit
data ='http://www.baidu.com/index.html;user?a=6#comment'
print(urlsplit(data).scheme,urlsplit(data)[0])
# SplitResult(scheme='http', netloc='www.baidu.com', path='/index.html;user', query='a=6', fragment='comment')
# 元组的方式,可用key的方式获取,也可以用索引的方式
urlunsplit()
必传为五个参数
from urllib.parse import urlunsplit
data =['http','www.baidu.com','index.html','user','a=6','comment']
print(urlunsplit(data));
未完待续。。。