一、urlparse模块简介

    urlparse模块主要是把url拆分为6部分,并返回元组。并且可以把拆分后的部分再组成一个url。主要有函数有urljoin、urlsplit、urlunsplit、urlparse等。


二、urljoin函数使用

    urljoin主要是拼接URL,它以base作为其基地址,然后与url中的相对地址相结合组成一个绝对URL地址。函数urljoin在通过为URL基地址附加新的文件名的方式来处理同一位置处的若干文件的时候格外有用。需要注意的是,如果基地址并非以字符/结尾的话,那么URL基地址最右边部分就会被这个相对路径所替换。如果希望在该路径中保留末端目录,应确保URL基地址以字符/结尾。

输入代码:

import urlparse

#urljoin函数是合并域名和相对路径的
urljoin = urlparse.urljoin('http://www.sina.cn/cc','file/down.php')
print urljoin

urljoin1 = urlparse.urljoin('http://www.sina.cn/cc/','file/down.php')
print urljoin1



代码运行结果:

C:\Python27\python.exe C:/Users/Lee/Desktop/d/PycharmProjects/untitled/test.py

http://www.sina.cn/file/down.php

http://www.sina.cn/cc/file/down.php


三、urlparse函数和urlsplit函数使用

    主要是分析urlstring,返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片段。allow_fragments为False时,该元组的组后一个项目总是空,不管urlstring有没有片段,省略项目的也是空。urlsplit()和urlparse()差不多

输入代码:

import urlparse

url = 'http://www.baidu.com/good/index.php?id=18'

#urlsplit函数是把一个url查分出对应部分
result = urlparse.urlsplit(url)
print result
#显示协议
print result.scheme
#显示域名
print result.netloc
#显示相对路径
print result.path
#显示查询参数
print result.query



代码运行结果:

C:\Python27\python.exe C:/Users/Lee/Desktop/d/PycharmProjects/untitled/test.py

SplitResult(scheme='http', netloc='www.baidu.com', path='/good/index.php', query='id=18', fragment='')

http

www.baidu.com

/good/index.php

id=18