urlparse模块主要对url进行分析,其主要的操作是拆分和合并url各个部件。它可以将url拆分为6个部分,并返回元组,也可以把拆分后的部分再组合成一个url。
1、urlparse函数
urllib.parse.urlparse( urlstring[ , scheme[ , allow_fragments]])
该函数将urlstring值解析为6个部分,从urlstring中获取URL,并返回元组(scheme , netloc , path , params , query , fragment)。该函数可作用于确定网络协议(HTTP,FTP等)、服务器地址、文件路径等。
下面看一下代码:
#coding = utf - 8
import urllib.parse
url = urllib.parse.urlparse('http://www.easetmount.com/index.asp? id = 001')
print (url)#url解析成6个部分
print (url.netloc)
因为老师使用的是2版本我用的是3版本所以代码上会有一些差别
运行结果:
ParseResult(scheme='http', netloc='www.easetmount.com', path='/index.asp', params='', query=' id = 001', fragment='')
www.easetmount.com
>>>
2、urlunparse函数
同样可以调用 urlunparse()函数将 一个元组内容构建成一条url。
urllib.parse.urlunparse(parts)
该元组类似urlparse函数,他接收元组(scheme , netloc , path , params , query , fragment)后,会重新组成一个具有 正确格式的URL,以便供Python的其他HTML解析模块使用。
下面看一下代码:
#coding = utf - 8
import urllib.parse
url = urllib.parse.urlparse('http://www.easetmount.com/index.asp? id = 001')
print (url)#url解析成6个部分
print (url.netloc)
#重组URL
u = urllib.parse.urlunparse(url)
print (u)
运行结果如下:
ParseResult(scheme='http', netloc='www.easetmount.com', path='/index.asp', params='', query=' id = 001', fragment='')
www.easetmount.com
http://www.easetmount.com/index.asp? id = 001
>>>