基于python(urlparse)模板的使用方法总结

yipeiwu_com6年前Python基础

一、简介

urlparse模块用户将url解析为6个组件,并以元组形式返回,返回的6个部分,分别是:scheme(协议)、netloc(网络位置)、path(路径)、params(路径段参数)、query(查询)、fragment(片段)。

二、功能列举

1、urlparse.urlparse()(将url解析为组件,url必须以http://开头)

>>> urlparse.urlparse("https://i.cnblogs.com/EditPosts.aspx?opt=1")
ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')

返回的元素中也会包含其他属性,比如(username,password,hostname,port):

>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").port
80
>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").hostname
'i.cnblogs.com'

2、urlparse.urljoin()(将相对的地址组合成一个url,对于输入没有限制,开头必须是http://,否则将不组合前面)

>>> urlparse.urljoin("https://i.cnblogs.com","EditPosts.aspx")
'https://i.cnblogs.com/EditPosts.aspx'

3、urlparse.urlsplit() :返回一个5个元素的元组,适用于遵循RFC2396的URL

>>> urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
SplitResult(scheme='https', netloc='i.cnblogs.com:80', path='/EditPosts.aspx', query='opt=1', fragment='')

4、urlparse.urlunsplit() :使用urlsplit的格式组合成一个url,传递的元素必须是5个,或者直接将分解的元组重新组合

>>> urlparse.urlunsplit(("https","i.cnblogs.com","EditPosts.aspx","a=a","b=b"))
'https://i.cnblogs.com/EditPosts.aspx?a=a#b=b'
>>> parse = urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
>>> urlparse.urlunsplit(parse)
'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'

5、urlparse.urlunparse() :使用urlparse的格式组合成一个url,可以直接将urlparse的返回传递组合

>>> parse = urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
>>> urlparse.urlunparse(parse)
'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'
>>> urlparse.urlunparse(("https","i.cnblogs.com","/EditPosts.aspx","","opt=1",""))
'https://i.cnblogs.com/EditPosts.aspx?opt=1'

以上这篇基于python(urlparse)模板的使用方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python多线程经典问题之乘客做公交车算法实例

Python多线程经典问题之乘客做公交车算法实例

本文实例讲述了Python多线程经典问题之乘客做公交车算法。分享给大家供大家参考,具体如下: 问题描述: 乘客乘坐公交车问题,司机,乘客,售票员协同工作,通过多线程模拟三者的工作。 司机...

python基于右递归解决八皇后问题的方法

本文实例讲述了python基于右递归解决八皇后问题的方法。分享给大家供大家参考。具体分析如下: 凡是线性回溯都可以归结为右递归的形式,也即是二叉树,因此对于只要求一个解的问题,采用右递归...

在python3环境下的Django中使用MySQL数据库的实例

在python3环境下的Django中使用MySQL数据库的实例

我们在使用Django过程中,数据库往往是离不开的,比较长常用的是MySQL数据库,但在使用过程中,对Python不同的版本对用的库也不一样,用惯了Python2的人在使用Python3...

win7+Python3.5下scrapy的安装方法

win7+Python3.5下scrapy的安装方法

如何在win7+Python3.5的环境下安装成功scrapy? 通过pip3 install Scrapy直接安装,一般会报错:error: Unable to find vcvars...

python正则表达式修复网站文章字体不统一的解决方法

  网站的大框架下有定义的字体,包括字体大小和颜色等,用户发布文章的时候可能是从其他网站复制过来的文本,复制的过程也保留了字体描述信息。当文章在页面上显示的时候,默认先会使用文章中定义的...