python 中 urlparse 模块介绍

urlparse模块主要是用于解析url中的参数  对url按照必定格式进行 拆分或拼接 html

1.urlparse.urlparsepython

将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片断。服务器

import urlparse
url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change

  输出结果为:url

ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')spa

其中 scheme 是协议  netloc 是域名服务器  path 相对路径  params是参数,query是查询的条件code

 

urlparse.parse_qs(urlparse.urlparse(url).query)htm

这个是获取urlparse分割后元祖中的某一项  urlparse.urlparse(url).query   获取查询条件blog

parse_qs 有几种实现文档

urlparse.parse_qs 返回字典
urlparse.parse_qsl 返回列表字符串

 

2. urlparse.urlsplit

和urlparse差很少,将url分为5部分,返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片断。

import urlparse
url_change = urlparse.urlsplit('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change

SplitResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', query='opt=1', fragment='')

其中 scheme 是协议  netloc 是域名服务器  path 相对路径 query是查询的条件 

 

3.urlparse.urljoin

将相对的地址组合成一个url,对于输入没有限制,开头必须是http://,不然将不组合前面。

import urlparse
new_url = urlparse.urljoin('https://baidu.com/ssss/','88888')
print new_url

输出 https://baidu.com/ssss/88888

若是输入错误信息 如  new_url = urlparse.urljoin('122','88888')    并不会将二者合并   输出‘88888’

 

最后一点 urlparse 这个模块在 python 3.0 中 已经更名为 urllib.parse  

官方文档地址  http://docs.python.org/library/urlparse.html

相关文章
相关标签/搜索