Python基本库使用(二)

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));

未完待续。。。

你可能感兴趣的:(Python基本库使用(二))